GithubHelp home page GithubHelp logo

7lpdwcaw / growtracker-android Goto Github PK

View Code? Open in Web Editor NEW
148.0 21.0 31.0 142.07 MB

Grow tracking app for growing plants.

License: Other

Java 65.95% Kotlin 34.05%
plant growing-plants nutrients cannabis growing botany gardening journal plant-statistics plant-details plant-actions plant-photos garden

growtracker-android's Introduction

GrowTracker

Latest alpha GitHub commits since latest release Subreddit subscribers GitHub license

Welcome to grow tracker. This is a utility app designed for gardening and tracking various parameters of your grow.

Discontinuation

As of 2020, major version 2 of the app is in maintenance mode, meaning only critical bugs will be fixed. All further development is reserved for major version 3 of the application which will eventually replace this. Read more here

Install

GitHub release (latest SemVer) F-Droid

Get it on F-Droid

The app requires no permissions except for external storage (for caching plant data and images) which you can see here in order for users to maintain anonymity, and a minimum Android version of 4.2 and above

How to install from APK

  1. Follow this guide to enable unknown sources
  2. Download the APK from here
  3. Click on downloaded app and install

Updating

You can either elect to update manually, or get notified on releases by installing the Update plugin.

For updates, do not uninstall first, you will lose your existing plant data. Always back up your data!

Installing the app via F-Droid makes it updateable through the F-Droid mechanism.

Screenshots

main plant list dark main plant list

More screenshots

install main plant list plant details plant photos plant actions plant statistics schedule details schedule dates watering details garden tracker dark main plant list dark plant details dark plant photos dark plant actions dark plant statistics dark schedule details dark schedule dates dark watering details dark garden tracker settings

About the app

The app was designed with data in mind. All data is easily accessible via the app's files folder in Android/data/me.anon.grow/files/. You will need a file explorer to browse this folder, or alternatively, you can back your data up via the app settings which will create copies in backups/GrowTracker/

The structure is very simple, and consists of a few different objects.

Note: date timestamps are all unix timestamps from 1/1/1970 in milliseconds. All objects in arrays are in date order, where index 0 is the oldest and index (size - 1) is the newest.

API Data structure

Expand section

Plant object

  • plantDate in milliseconds
  • images is an array of file paths. Image file names are the taken date as unix timestamp in milliseconds
{
    "id": <String>,
    "actions": [<Action>],
    "images": [<String>],
    "name": <String>,
    "strain": <String>,
    "clone": <Boolean>,
    "medium": <Medium>,
    "mediumDetails": <String>,
    "plantDate": 1234567890
}

Medium (ENUM)

One of,

SOIL, HYDRO, COCO, AERO

Actions

All actions have the following 3 properties

{
    "type": <String>,
    "date": 1234567890,
    "notes": <String>,
}

Only the following actions are currently supports

Action object (type = Water)

  • Temperature measured in ºC
  • Amount measured in ml
  • Date is milliseconds
  • Notes as string

Water action for waterings

{
    "additives": [<Additive>],
    "ph": <Double>,
    "tds": <Tds>,
    "runoff": <Double>,
    "amount": <Double>,
    "date": 1234567890,
    "type": "Water",
    "temp": <Double>,
    "notes": <String>
}

Additive object

  • Amount is measured in ml

Object for nutrient dosages

{
    "description": <String>,
    "amount": <Double>
}

Tds object

Object for measuring conductivity or PPM

{
    "amount": <Double>,
    "type": <TdsUnit>
}

Tds Unit (ENUM)

One of,

PPM500, PPM700, EC

Action object (type = Action)

  • Date in milliseconds

Action object for recording plant actions such as trimming, transplanting.

{
    "action": <Action>,
    "date": 1234567890,
    "type": "Action",
    "notes": <String>
}

Action (ENUM)

One of,

FIM, FLUSH, FOLIAR_FEED, LST, LOLLIPOP, PESTICIDE_APPLICATION, TOP, TRANSPLANTED, TRIM, TUCK

Stage change (type = StageChange)

  • Date in milliseconds

Action object for recording a change in plant stage.

{
    "newStage": <PlantStage>,
    "date": 1234567890,
    "type": "StageChange",
    "notes": <String>
}

PlantStage (ENUM)

One of,

PLANTED, GERMINATION, SEEDLING, CUTTING, VEGETATION, FLOWER, DRYING, CURING, HARVESTED

Note action (type = Note)

  • Date in milliseconds
{
    "notes": <String>,
    "date": 1234567890,
    "type": "Note"
}

Garden object

The garden object is similar to the plant object, and accepts Action types, but is software-restricted to the following

{
    "id": <String>,
    "name": <String>,
    "plantIds": [<String>],
    "actions": [<Action>]
}

Temperature change action (type = TemperatureChange)

  • Temperature measured in ºC
  • Date in milliseconds
{
    "temp": <Double>,
    "notes": <String>,
    "date": 1234567890,
    "type": "TemperatureChange"
}

Humidity change action (type = HumidityChange)

  • Date in milliseconds
{
    "humidity": <Double>,
    "notes": <String>,
    "date": 1234567890,
    "type": "HumidityChange"
}

Light schedule change action (type = LightingChange)

  • on time format HH:mm
  • off time format HH:mm
  • Date in milliseconds
{
    "on": <String>,
    "off": <String>,
    "notes": <String>,
    "date": 1234567890,
    "type": "LightingChange"
}

Encryption

Note that this is not a guaranteed form of protection from law enforcement agencies.

Encryption in the app uses basic AES for encryption using a provided passphrase. If the passphrase is less than 128 bits (16 UTF-8 chars), it will be padded with 0x0 bytes. You can view the key generator method here

You can decrypt your files using your passphrase either by writing a script that uses AES decryption, or an online tool such as Online-Domain-Tools.

Translators

Translating is done conveniently through Transifex

See more about translating GrowTracker

Translations provided by;

  • Chinese (Taiwan) - TW - Chinese (Taiwan); Chief Ndora (chiefndora), codecyang
  • Dutch - NL - Dutch; Heimen Stoffels (Vistaus)
  • French - FR - French; Maxtille, yassine azirem (yassix.well)
  • German - DE - German; Acrylic Boy, Alex (Noxmiles), Basti B (Weltenesche), Patrick B (EukalyptusX), Sascha Zenglein (szenglein), Vexatos, W Q (williq)
  • Hungarian - HU - Hungarian;
  • Norwegian Bokmål - NB - Norwegian Bokmål; Syver Stensholt (SuperPotato)
  • Russian - RU - Russian; 9YbQiuEohUu1
  • Slovenian - SI - Slovenian; Klemen Skerbiš (aha999)
  • Spanish - ES - Spanish; EmmanuelMess, Raul Choque (choqueraul123)
  • Ukranian - UK - Ukrainian; 9YbQiuEohUu1

License

Copyright 2014-2021 7LPdWcaW

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

growtracker-android's People

Contributors

7lpdwcaw avatar avseredyuk avatar dduenker avatar poussinou avatar transifex-integration[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

growtracker-android's Issues

Add gardens

Add support for plants per garden.

Create gardens.json file and add gardenId field for plant in plants.json

[Crash] crash report (do not change)

Git Reports Issue

Submitter: Matias
Hi, i cloned the project, and in the view of all plants, the cards of every plant dont show the background image. Where change that?

Sorry for my english

Git Reports Issue

Submitter: /dev/null
Can you add the option to change the unit EC/PPM

Git Reports Issue

Not a bug, but a feature request.

I would like to be able to toggle the unit of measure between metric and imperial units.
Just looking to change the field names, not convert actual amounts.

missing several PlantStage's

Missing them at

\res\menu\plant_list_menu.xml

and their handling at

PlantListFragment.onOptionsItemSelected()

Add clone option

Add toggle in plant details when creating new plant for "from clone"

[Crash] crash report (do not change)

[Crash] crash report (do not change)

Add navigation drawer

Show list of gardens or optional full list of plants navigation and potential expand of all plants

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.