An Electron-based desktop application for managing interval timers and countdown timers. This app is designed to help users efficiently manage work and break intervals, making it ideal for productivity techniques like the Pomodoro Technique.
- Interval Timer: Set work and break intervals with customizable durations and loop counts.
- Countdown Timer: A simple timer for single countdowns.
- Pause and Resume: Pause and resume timers without losing progress.
- Custom Alarm Settings: Configure alarm durations for work, break, and countdown timers.
- Tab Navigation: Switch between the Interval Timer and Countdown Timer views.
- Responsive UI: A clean and user-friendly interface with responsive design.
-
Clone the repository:
git clone https://github.com/your-username/interval-timer.git cd interval-timer -
Install dependencies:
npm install
-
Start the application:
npm start
-
Interval Timer:
- Navigate to the "Interval Timer" tab.
- Set work and break durations, and the number of loops.
- Click "Start Loop" to begin the timer.
-
Countdown Timer:
- Navigate to the "Timer" tab.
- Set the desired countdown duration.
- Click "Start" to begin the countdown.
-
Pause/Resume:
- Use the "Pause" and "Continue" buttons to manage the timer's state.
-
Reset:
- Click "Reset" to stop and reset the timer.
-
Settings:
- Click the ⚙️ icon to open the settings modal.
- Configure alarm durations for work, break, and countdown timers.
interval-timer/
├── assets/ # Static assets (e.g., alarm sound, screenshots)
├── css/ # Stylesheets
│ └── styles.css
├── js/ # JavaScript source files
│ ├── intervalTimer.js # Logic for the interval timer
│ ├── timer.js # Logic for the countdown timer
│ ├── renderer.js # Main renderer logic
│ ├── tabs.js # Tab navigation logic
│ └── views/ # View templates
│ ├── intervalTimerView.js
│ └── timerView.js
├── index.html # Main HTML file
├── main.js # Electron main process
├── package.json # Project metadata and scripts
└── .gitignore # Ignored files and directories
To modify or extend the application:
- Make changes to the JavaScript files in the js directory.
- Update styles in styles.css.
- Test the application by running:
npm start
To package the application for distribution:
-
Install
electron-builder:npm install electron-builder --save-dev
-
Build the application:
npm run build
-
The packaged application will be available in the
dist/directory.
- Electron - Build cross-platform desktop apps with JavaScript, HTML, and CSS.
This project is licensed under the ISC License. See the LICENSE file for details.
Contributions are welcome! Feel free to open issues or submit pull requests to improve the project.
- Inspired by productivity techniques like the Pomodoro Technique.
- UI design inspired by modern minimalistic styles.
Enjoy using Interval Timer to boost your productivity! 🚀
