A productivity app that combines the pomodoro technique with virtual cat care to make studying more engaging and rewarding.
Pawmodoro is a unique study companion that helps you maintain focus while caring for virtual cats. By completing study intervals, you earn rewards to feed and interact with your virtual cats, creating a fun and motivating study environment.
This project was developed to help students stay focused and motivated while studying, but can be used for any task that requires focus and breaks.
- 🕒 Customizable study and break intervals
- 🐈 Virtual cat companions that respond to your study habits
- 🎵 Integrated music player for focused studying
- 📊 Track your progress and cat's well-being
- Flexible study and break duration settings
- Visual progress tracking
- Feed and interact with virtual cats
- Monitor cat happiness and hunger levels
- Earn rewards through completed study sessions
- Random cat facts
- Built-in music player
- Volume control
- Study-friendly music recommendations
- Cat well-being metrics
- Study session statistics
- Level progression system
- Allyssa Chiu (@chiually)
- Rachel Deng (@rachelkd)
- Jeha Park (@jehapark)
- Manahill Sajid (@manahillsajid)
- Jinny Yoo (@yhj050224)
Pawmodoro is a Java Swing application, so it requires a Java Runtime Environment on any operating system to run. This project uses Maven to manage dependencies.
- Java JDK 17 or higher
- Maven 3.6 or higher
Our project uses the following packages:
- JSON in Java (v20240303) - JSON processing
- Okhttp (v4.12.0) - HTTP client
- Jackson Core (v2.15.2) - JSON processing core
- Jackson Databind (v2.15.2) - JSON data binding
- PostgresJDBC (v42.7.1) - PostgreSQL database connector
- Note that the JDBC driver was initially used for development, but replaced with a PostgreSQL REST API. You may still need to install the JDBC driver to build the project.
- JUnit 5 (v5.8.1) - Unit testing framework
-
Clone the repository:
git clone https://github.com/rachelkd/pawmodoro.git cd pawmodoro
-
Build the project:
mvn clean install
-
Run the
Main.java
file in theapp
package -
Start studying in the Java Swing application!
- An internet connection is required to download Maven dependencies and connect to the database
For any other issues, please check our Issues page or open a new issue.
-
Getting Started
- Create an account or log in
- Customize your study and break durations
- Select your first virtual cat companion
-
During Study Sessions
- Start the timer
- Monitor your progress
- Complete intervals to earn rewards
-
Cat Care
- Feed your cat with earned rewards
- Interact with your cat
- Monitor happiness and hunger levels
We welcome contributions to Pawmodoro! Whether you’re fixing a bug, adding features, or improving documentation, follow the steps below.
-
How to Contribute
- Fork the repository on GitHub.
- Create a feature branch for your changes.
- Submit a pull request (PR) with a clear description of your changes.
-
Instructions for Forking
-
Go to the Pawmodoro repository.
-
Click the "Fork" button at the top right.
-
Clone your forked repository to your local machine:
git clone https://github.com/your-username/pawmodoro.git cd pawmodoro
-
Create a new branch:
git checkout -b feature/your-feature-name
-
-
Guidelines for a Good Merge Request
- Write a clear and descriptive title and PR message.
- Ensure the PR is focused on one feature or fix.
- Include any relevant test cases or documentation updates.
-
Contribution Rules
- Contributions must align with project goals and scope.
- Avoid submitting incomplete features unless marked as "work in progress (WIP)."
- All code changes must include tests to verify functionality.
-
Closed Contributions
- If contributions are temporarily closed, this README will be updated.
We value your input! Please share your experience:
-
How to Give Feedback
- Open an issue on GitHub to submit bugs or feature requests.
-
Rules for Feedback
- Be specific: Include details about the issue or suggestion (e.g., exact steps to reproduce a bug, photos, or videos).
- Be constructive: Focus on how to improve rather than just pointing out flaws.
- Avoid unrelated or offensive comments.
-
What to Expect When Submitting Feedback
- Follow-up: If more details are needed, a team member may reach out to you.
This project is licensed under the MIT License - see the LICENSE file for details.