A feature-rich, responsive Pomodoro-style study timer built with Python (Flask) and vanilla JavaScript. This application helps you manage your time effectively with customizable work/break intervals, task tracking, and a built-in calendar.
It is designed as a Progressive Web App (PWA), meaning you can install it on your mobile or desktop device and use it just like a native app.
- Productivity Timer: Standard Pomodoro timer (25m Work / 5m Break) with customizable durations.
- Task Management:
- Add "To Do" tasks.
- Mark tasks as Completed (moves them to a separate history list).
- Tasks persist even if you close the browser (saved in LocalStorage).
- Dashboard:
- Digital Clock: Real-time clock display.
- Monthly Calendar: Visual calendar to keep track of dates.
- Notifications:
- Audio: Beep sound when the timer ends.
- Desktop/Mobile Notifications: System notifications to alert you even when the app is in the background.
- Theming:
- Dark Mode: Toggle between Light and Dark themes (preference saved).
- Animations: Smooth UI transitions.
- Mobile Ready (PWA):
- Fully responsive design.
- Installable on Android/iOS/Desktop.
- Works offline (caches assets).
- Backend: Python 3, Flask
- Frontend: HTML5, CSS3, JavaScript (ES6)
- Server: Gunicorn (for production)
-
Clone the repository:
git clone <your-repo-url> cd study-timer
-
Install Dependencies:
pip install -r requirements.txt
-
Run the Application:
python app.py
-
Open in Browser: Visit
http://localhost:5000
This app is ready to be deployed on platforms like Render or Heroku.
- Push your code to GitHub.
- Create a new Web Service on Render.
- Connect your repository.
- Use the following settings:
- Runtime: Python 3
- Build Command:
pip install -r requirements.txt - Start Command:
gunicorn app:app
- Click Create Web Service.
Once deployed (or running locally):
- Android (Chrome): Tap the menu (โฎ) > "Install App" or "Add to Home screen".
- iOS (Safari): Tap the Share button > "Add to Home Screen".
- Desktop (Chrome/Edge): Click the Install icon in the address bar.
This project is open-source and available under the MIT License.