A modern Pomodoro timer application with background videos, task management, and Spotify integration.
Novatra-Focus/
├── index.html # Main HTML file
├── package.json # Project configuration
├── README.md # Project documentation
├── src/ # Source code
│ ├── css/ # Stylesheets
│ │ └── style.css # Main styles
│ └── js/ # JavaScript modules
│ ├── app.js # Main application controller
│ ├── timer.js # Timer functionality
│ ├── taskManager.js # Task management
│ ├── musicPlayer.js # Spotify integration
│ ├── backgroundManager.js # Background video handling
│ └── uiController.js # UI controls and shortcuts
├── assets/ # Static assets
│ ├── videos/ # Background videos
│ ├── audio/ # Notification sounds
│ └── images/ # Images and icons
└── [archive] # Old files for reference
- Pomodoro Timer: Customizable work sessions with progress tracking
- Task Management: Add, complete, and manage your tasks
- Background Videos: Rotating background videos for ambiance
- Spotify Integration: Play your favorite playlists while working
- Keyboard Shortcuts:
- Ctrl+S: Start timer
- Ctrl+X: Stop timer
- Ctrl+R: Reset timer
- Ctrl+T: Toggle tasks
- Ctrl+M: Toggle music
- Ctrl+F: Toggle fullscreen
- Settings: Auto-restart, notification sounds, custom timers
- Clone or download the repository
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open your browser to
http://localhost:8080
- Set your desired timer duration using the custom timer feature
- Add tasks you want to work on
- Click START to begin your focus session
- Take breaks when the timer completes
- Track your completed pomodoro cycles
The application is now modularized into separate classes:
- Timer: Handles all timer-related functionality
- TaskManager: Manages task creation, completion, and current task tracking
- MusicPlayer: Handles Spotify playlist integration
- BackgroundManager: Manages background video rotation
- UIController: Handles UI interactions and keyboard shortcuts
- PomodoroApp: Main application controller that initializes all modules
This modular approach makes the code more maintainable, testable, and easier to extend with new features.
Yes it's open for you contribute and make it good, so feel free to do so!