Pomodoro Timer is a web-based productivity application that implements the Pomodoro Technique. This time management method uses a timer to break work into intervals, traditionally 25 minutes in length, separated by short breaks. This application helps users manage their work sessions, track productivity, and maintain focus.
- Customizable Timer: Focus sessions (25 minutes) and break sessions
- Task Management: Add descriptions to your Pomodoro sessions
- Session Tracking: Record completed sessions and view productivity statistics
- User Authentication: Secure login and registration system
- User Profiles: Personalized dashboard and settings
- Responsive Design: Works on desktop and mobile devices
- Audio Notifications: Sound alerts when sessions end
- Java 21: Core programming language
- Spring Boot 3.2.3: Application framework
- Spring Security: Authentication and authorization
- Spring Data JPA: Database access and ORM
- Hibernate: Object-relational mapping
- SQLite: Development database
- PostgreSQL: Production database option
- Lombok: Reduces boilerplate code
- Maven: Dependency management and build tool
- Thymeleaf: Server-side Java template engine
- Tailwind CSS: Utility-first CSS framework
- JavaScript: Client-side functionality
- Tone.js: Audio feedback library
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/pomodoro/app/
│ │ │ ├── config/ # Application configuration
│ │ │ ├── controller/ # MVC controllers
│ │ │ ├── dto/ # Data transfer objects
│ │ │ ├── model/ # Entity models
│ │ │ ├── repository/ # Data access layer
│ │ │ └── service/ # Business logic
│ │ └── resources/
│ │ ├── static/ # CSS, JavaScript
│ │ ├── templates/ # Thymeleaf templates
│ │ └── application.properties # App configuration
└── pom.xml # Maven dependencies
- Java Development Kit (JDK) 21
- Maven 3.8+ (or use the included Maven wrapper)
- Git (optional)
-
Clone the repository (if using Git):
git clone https://github.com/aditya-7562/PomodoroTimer.git cd pomodoro_prod
-
Build the application:
./mvnw clean install
Or with Maven installed:
mvn clean install
-
Run the application:
./mvnw spring-boot:run
Or with Maven installed:
mvn spring-boot:run
-
Access the application: Open your browser and navigate to
http://localhost:8080
The application uses SQLite for development by default. The database file will be created automatically in the project root directory.
To use PostgreSQL (for production):
- Update the
application-prod.properties
file with your PostgreSQL connection details - Run the application with the production profile:
./mvnw spring-boot:run -Dspring.profiles.active=prod
- Register a new account or login with existing credentials
- Navigate to the Timer page
- Enter a task description (optional)
- Start a focus session
- Work until the timer ends
- Take a break when prompted
- View your productivity statistics on the dashboard
This project is licensed under the MIT License - see the LICENSE file for details.
- The Pomodoro Technique was developed by Francesco Cirillo
- Built with Spring Boot and modern web technologies