
Mindful Todo
April 2025
About the Project
Mindful Todo helps you manage tasks with purpose. Track your productivity, analyze patterns, and make data-driven decisions about your time management.
🚀 Features
Core Functionality
- 📝 Smart Task Management
- Intuitive task creation and organization
- Priority-based task sorting
- Category organization
- Flexible due dates
Analytics & Insights
- 📊 Rich Visualization
- Task completion trends
- Category distribution analysis
- Priority breakdowns
- Daily activity patterns
User Experience
- 🎨 Modern Interface
- Clean, responsive design
- Real-time updates
- Intuitive navigation
- Mobile-friendly layout
🛠 Tech Stack
Frontend
- 🎨 UI Framework
- HTML5 & CSS3 (Bootstrap)
- Modern JavaScript
- jQuery for DOM manipulation
- ApexCharts for beautiful visualizations
- Toastr for sleek notifications
Backend
- ⚙️ Server
- Python (Flask framework)
- SQLAlchemy ORM
- Gunicorn WSGI server
- Nginx reverse proxy
Database
- 🗄️ Storage
- PostgreSQL (primary database)
- SQLAlchemy migrations
📦 Installation
Prerequisites
# Required software
Python 3.x
PostgreSQL
Virtual Environment
Quick Start
- Clone & Setup
# Clone repository
git clone https://github.com/sculptorofcode/mindful-todo.git
cd mindful-todo
# Create virtual environment
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
- Configure Environment
# Create .env file
FLASK_APP=app.py
FLASK_ENV=development
DATABASE_URL=postgresql://username:password@localhost/mindful_todo
SECRET_KEY=your_secret_key
- Database Setup
# Initialize database
flask db init
flask db migrate
flask db upgrade
- Launch Application
# Development
flask run
# Production
gunicorn -w 4 app:app
🚀 Deployment
Production Setup
- Install Gunicorn
pip install gunicorn
- Configure Nginx
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /static/ {
alias /path/to/your/app/static/;
}
}
- Enable SSL
sudo certbot --nginx
sudo systemctl restart nginx
📱 Usage Guide
Task Management
-
Creating Tasks
- Enter task details
- Set priority & category
- Choose due date
-
Managing Tasks
- Mark as complete
- Update status
- Delete tasks
Analytics
-
Viewing Insights
- Task completion rates
- Time analysis
- Category breakdowns
- Priority distributions
-
Time Filters
- Last 7 days
- Last 30 days
- Last 90 days
- Yearly view
🤝 Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create your feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m 'Add some AmazingFeature'
- Push to the branch
git push origin feature/AmazingFeature
- Open a Pull Request
📄 License
Distributed under the MIT License. See
LICENSE
file for more information.🙏 Acknowledgments
- Flask team for the amazing framework
- SQLAlchemy for database simplicity
- ApexCharts for beautiful visualizations
- Bootstrap team for responsive design
- Open source community for inspiration
Made with ❤️ by Saikat Roy
Comments
No comments yet. Be the first to share your thoughts!
Project Links
Technologies Used
PythonHTMLJavaScriptCSS