This is a Flask web app that I made to help track the differing watering schedules for my many house plants.
One Python script initializes the Flask server and details the app routes needed to add, edit, and delete SQLite records. The second Python script is triggered by a cronjob to run every day at noon. It checks how many days since each plant was watered, updates a Days Remaining column in the SQLite table, and sends me an email from myself using Yagmail if there are any thirsty plants. Pictures are uploaded each time a plant is watered, and past pictures can be viewed for each plant.
Future features:
- Incorporate Javascript to update the frontend
- Add a Rename Plant button that will take care of backend folder management
- Adjust Days Until Thirsty automatically if watered before counter is up
- Request photo when selecting Watered Today
- Plant profile pics displayed on front page
- Add a "Repot me!" feature
- Total number of plants at bottom of the page
- Handling iPhone photos: naming conventions
- Add most recent picture to the edit page
- Add Photo Gallery page
- Slideshow feature
- Add In Memorium page
- Add Plant of the Day pics to daily emails
- Fix refresh function to include garden tracker
- Fix garden tracker picture upload redirect
- Fix redirect after gardenTracker picture uploads
- Fix renaming from edit page
Link to photo gallery from individual plant pagesPhoto viewing pages for each individual plant, generated from templateReassess dates after changing Dry Out time - Refesh buttonPlant of the dayBee tracker placeholderHome pageGarden tracker
The Flask server currently runs on a Raspberry Pi 4 connected to my home WiFi network, though I'd like to eventually run it from a more legitimate home server.
- Python
- Flask
- SQLite3
- Yagmail
- HTML
- CSS
- Raspberry Pi 4
git clone git@github.com:dpc2/homeTracker.git
python3 -m venv ./homeTracker
source bin/active
pip install flask
pip install yagmail