A smart, numerical approach to task management that helps you maintain perfect work-life balance.
TaskFlow uses a unique scoring system where tasks accumulate points daily and decrease when completed. Your goal is to keep your total score at zero or below - achieving perfect balance!
- Self-Balancing System: Tasks auto-increment daily, decrease when completed
- Numerical Feedback: Visual scoring system with color-coded indicators
- Goal-Oriented: Aim for zero or negative total score for perfect balance
- Modern Glass-morphism Design with gradient backgrounds
- Responsive Navigation with 4 main sections
- Real-time Updates every 30 seconds
- Interactive Animations and hover effects
- Neutrality Score: Live total score with motivational messages
- Quick Stats: Total tasks, attention needed, ahead, balanced
- Task Cards: Individual task management with completion tracking
- Activity Log: Track all actions with timestamps
- Add Tasks: Custom names, initial scores, daily increments
- Complete Tasks: One-click completion (-1 score)
- Daily Increment: Bulk apply daily increases
- Delete Tasks: Remove unwanted tasks
- Data Persistence: SQLite database with logging
git clone https://github.com/yourusername/taskflow.git
cd taskflow
./setup_taskflow.sh
# Start TaskFlow
todaytask
# Stop TaskFlow
stoptask
-
Clone the repository
git clone https://github.com/yourusername/taskflow.git cd taskflow
-
Set up the backend
cd backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Run the application
# From the project root chmod +x start_app.sh ./start_app.sh
-
Access the app
- Open your browser and go to
http://127.0.0.1:8080
- Backend API available at
http://127.0.0.1:5000/api
- Open your browser and go to
The Goal: Keep your total neutrality score at 0 or below
- Positive scores (Red) = Tasks need attention
- Negative scores (Green) = You're ahead of schedule
- Zero scores (Gray) = Perfect balance
-
Adding Tasks
- Click "Add New Task" button
- Enter task name, initial score, and daily increment
- Higher daily increments = more important tasks
-
Completing Tasks
- Click the green "Complete Task" button
- Each completion reduces the task score by 1
- Watch your neutrality score improve!
-
Daily Increments
- Click "Apply Daily Increment" to simulate daily accumulation
- Each task increases by its daily increment value
- Represents the natural buildup of pending work
- 🏠 Dashboard: Overview, stats, and main controls
- 📋 Tasks: Full task management interface
- 📊 Analytics: Performance insights and trends
- ❓ Help: User guidance and tips
- Flask: Python web framework
- SQLite: Lightweight database
- Flask-CORS: Cross-origin resource sharing
- Vue.js 3: Progressive JavaScript framework
- Bootstrap 5: CSS framework
- Tailwind CSS: Utility-first CSS
- Font Awesome: Icon library
- Axios: HTTP client
- Simple HTTP Server: Frontend serving
- Shell Scripts: Easy startup/shutdown
taskflow/
├── backend/
│ ├── app.py # Flask application
│ ├── requirements.txt # Python dependencies
│ ├── tasks.db # SQLite database
│ └── venv/ # Python virtual environment
├── frontend/
│ ├── index.html # Main Vue.js application
│ └── public/ # Static assets
├── start_app.sh # Startup script
├── stop_app.sh # Shutdown script
├── setup_taskflow.sh # Complete setup script
├── daily_task_manager.sh # Enhanced daily startup
└── README.md # This file
todaytask
- Start TaskFlow with enhanced daily managementstoptask
- Stop TaskFlow and backup data./daily_task_manager.sh
- Enhanced startup with motivational messages./start_app.sh
- Basic startup./stop_app.sh
- Basic shutdown
- Automatic daily increments on new days
- Data backup and restore functionality
- Time-based motivational messages
- Browser auto-opening
- Personal data preservation
GET /api/tasks
- Get all tasksPOST /api/tasks/add
- Add new taskPOST /api/tasks/{id}/complete
- Complete taskDELETE /api/tasks/{id}
- Delete task
GET /api/total-score
- Get neutrality scorePOST /api/daily-increment
- Apply daily incrementsGET /api/logs
- Get activity logs
Edit the sample tasks in backend/app.py
:
sample_tasks = [
('Your Task Name', initial_score, daily_increment),
# Add more tasks here
]
Modify the CSS in frontend/index.html
to customize:
- Colors and gradients
- Glass-morphism effects
- Animations and transitions
-
Port already in use
./stop_app.sh ./start_app.sh
-
Database not found
- Delete
backend/tasks.db
and restart - Fresh database will be created with sample data
- Delete
-
Frontend not loading
- Check if port 8080 is available
- Try
python -m http.server 8081
in frontend folder
-
API errors
- Ensure Flask backend is running on port 5000
- Check
backend/app.log
for error details
rm backend/tasks.db
./start_app.sh
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- User authentication and profiles
- Task categories and tags
- Weekly/monthly analytics
- Mobile app version
- Calendar integration
- Team collaboration features
- Smart notifications
- Data export/import
- Vue.js community for excellent documentation
- Flask team for the lightweight framework
- Bootstrap and Tailwind CSS for beautiful styling
- All contributors and testers
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ for better productivity and work-life balance
Start your journey to perfect task balance today! 🎯
See GITHUB_SETUP.md for detailed instructions on how to push this project to your GitHub repository.