Skip to content

NovatraX/Novatra-Focus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Novatra Focus - Pomodoro Timer

A modern Pomodoro timer application with background videos, task management, and Spotify integration.

Project Structure

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

Features

  • 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

Installation

  1. Clone or download the repository
  2. Install dependencies: npm install
  3. Start the development server: npm run dev
  4. Open your browser to http://localhost:8080

Usage

  1. Set your desired timer duration using the custom timer feature
  2. Add tasks you want to work on
  3. Click START to begin your focus session
  4. Take breaks when the timer completes
  5. Track your completed pomodoro cycles

Code Architecture

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.

Stats

GitHub Streak

Contributions ?

Yes it's open for you contribute and make it good, so feel free to do so!

About

A Pomodoro Timer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 51.6%
  • HTML 32.0%
  • CSS 16.4%