A modern, interactive web application for tracking daily, weekly, and monthly habits with visual progress monitoring and streak tracking.
- 📊 Visual progress tracking with interactive charts
- 🔥 Streak counting and monitoring
- 📅 Support for daily, weekly, and monthly habits
- ⏰ Customizable reminders
- 📱 Responsive design for desktop and mobile
- ✨ Modern, clean user interface
- Backend: Python Flask
- Database: SQLite with SQLAlchemy
- Frontend:
- Bootstrap 5 for UI components
- Chart.js for data visualization
- Vanilla JavaScript for interactivity
- Python 3.8 or higher
- pip (Python package installer)
-
Create and activate a virtual environment:
# Windows python -m venv venv venv\Scripts\activate # Linux/MacOS python -m venv venv source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python app.py
-
Open your browser and navigate to:
http://localhost:5000
- Click the "Add New Habit" button
- Fill in the habit details:
- Name (required)
- Description (optional)
- Frequency (daily/weekly/monthly)
- Reminder time (optional)
- Click "Add Habit" to save
- Click "Mark Complete" to log a habit completion
- View your current streak next to each habit
- Monitor your progress through the visual chart
- Charts show the last 7 days of activity
habit_tracker/
├── app.py # Main Flask application
├── requirements.txt # Python dependencies
├── static/
│ └── js/
│ └── main.js # Frontend JavaScript
├── templates/
│ └── index.html # Main HTML template
└── instance/
└── habits.db # SQLite database
- Fork the repository
- Create a new branch (
git checkout -b feature/improvement
) - Make your changes
- Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature/improvement
) - Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Flask - Web framework
- Bootstrap - UI framework
- Chart.js - JavaScript charting library
- SQLAlchemy - Database ORM