Zone 7a Garden Reminders is a desktop application designed for gardeners in hardiness zone 7a. It helps users track the planting, sowing, transplanting, harvesting, pruning, and fertilizing tasks for various plants by providing timely desktop notifications and a task management system.
- Desktop Notifications: Receive reminders for important gardening tasks such as starting seeds indoors, sowing, transplanting, harvesting, pruning, and fertilizing.
- Task List: Track your gardening to-dos and mark tasks as completed.
- Customizable: Select which plants you are growing to receive tailored reminders.
- Automatic Scheduling: The app automatically checks for tasks that are due today and notifies the user.
- Sound Alerts: Plays an alert sound when notifications are triggered.
- Data Persistence: Saves the state of selected plants and tasks so you can continue where you left off after closing the app.
Ensure you have the following installed:
- Python 3.12 or higher
- pip3 for managing Python packages
- Clone the repository or download the project files.
- Navigate to the project directory.
- Install the required dependencies from the
requirements.txtfile: - Run the application with the following command:
- Start the App: Run
main.py. The main window will display a list of plants to grow and a task management system. - Select Plants: Choose the plants you are growing by selecting the checkboxes. This will enable notifications for tasks related to these plants.
- Task List: Any tasks due today will be automatically added to your to-do list. Once completed, you can remove them by selecting the task and clicking "Remove Completed Tasks."
- Notifications: You will receive desktop notifications for any tasks that are due, along with a sound alert.
- Data Persistence: The app automatically saves your selected plants and task list so you can resume from where you left off.
The app includes pre-configured planting timelines for the following plants commonly grown in zone 7a:
- Potatoes
- Garlic
- Tomatoes
- Peppers
- Cilantro
- Carrots
- Cucumbers
- Broccoli
- Blackberries
- Desktop Notifications: Notifications are powered by the plyer library and include a brief description of the task due.
- Sound Alerts: Notification sounds are provided to alert users when tasks are due. Sounds are stored in the
/soundsdirectory and include: leaves_notification_sound.mp3: Plays when a task is due.startup_bubble_sound.mp3: Plays when the app starts.
The app saves user data in the user's home directory, under a hidden folder .garden_reminders. This includes:
- Selected Plants: Which plants have been selected for growing.
- To-Do List: The current gardening tasks in the task list.
The data is stored in a file named garden_data.pkl, which is automatically created and updated during app usage.
This project relies on the following Python libraries:
- tkinter: For the graphical user interface (GUI).
- plyer: For desktop notifications.
- playsound3: For playing audio alerts.
- pickle: For saving and loading user data.
The dependencies are listed in the requirements.txt file. To install them, use:
After setting up the environment, you can run the app by executing:
python3 main.py