A comprehensive web-based application for tracking cannabis plant growth, designed for both individual growers and collaborative growing communities. Built with Flask and modern web technologies, this application provides detailed plant monitoring, growth tracking, and community features.
- Create and manage individual plant profiles
- Track growth stages and milestones
- Record watering and nutrient schedules
- Upload and manage plant photos
- Monitor plant health metrics
- Take and organize growing notes
- Secure user authentication and authorization
- Personal dashboards for each user
- Admin panel for user management
- User profile customization
- Last seen and online status tracking
- Create and join group grows
- Collaborative plant monitoring
- Share growing tips and experiences
- Follow other growers' plants
- Community interaction features
- Growth stage progression
- Watering history
- Nutrient schedules
- Environmental conditions
- Plant measurements
- Health indicators
- Backend: Python/Flask
- Database: SQLAlchemy with SQLite/PostgreSQL
- Frontend: Bootstrap 5, JavaScript
- Authentication: Flask-Login
- Real-time Updates: Flask-SocketIO
- Image Handling: PIL/Pillow
- Run the setup script:
python setup.py
This will:
- Create a virtual environment
- Install all dependencies
- Initialize the database
- Create a default admin user
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.env
file in the project root with:FLASK_APP=run.py FLASK_ENV=development SECRET_KEY=your-secret-key-here DATABASE_URL=sqlite:///app.db
-
Initialize the database:
flask db upgrade python create_admin.py
-
Run the application:
python run.py
- Username:
admin
- Password:
admin123
Important: Change the admin password after first login!
To reset all users back to default settings and recreate the admin user:
# Make sure your virtual environment is activated
source venv/bin/activate # On Windows: venv\Scripts\activate
# Run the database initialization script
python init_db.py
This will:
- Drop all existing tables
- Recreate all tables fresh
- Create a new admin user with default credentials
- Create a new test user with default credentials
Note: This operation will delete all existing user data. Make sure to backup any important data before proceeding.
-
Clone the repository:
git clone https://github.com/yourusername/grow-tracker.git cd grow-tracker
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install required packages:
pip install -r requirements.txt
-
Create a
.env
file in the project root:FLASK_APP=run.py FLASK_ENV=development SECRET_KEY=your-secret-key-here DATABASE_URL=sqlite:///app.db
-
Initialize the database:
flask db upgrade
-
Run the application:
python run.py
-
Install development dependencies:
pip install -r requirements-dev.txt
-
Set up pre-commit hooks:
pre-commit install
-
Run tests:
pytest
grow-tracker/
├── app/
│ ├── __init__.py
│ ├── auth/
│ ├── main/
│ ├── models/
│ ├── static/
│ ├── templates/
│ └── utils/
├── migrations/
├── tests/
├── venv/
├── .env
├── .gitignore
├── config.py
├── requirements.txt
└── run.py
- Fork the repository
- Create a feature branch:
git checkout -b feature-name
- Commit your changes:
git commit -am 'Add feature'
- Push to the branch:
git push origin feature-name
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
This application is designed for tracking personal or community growing operations where legal. Please ensure compliance with your local regulations regarding cannabis cultivation.