A web application that gamifies studying using the Pomodoro Technique combined with virtual pet care. Keep your focus sharp and your virtual cat happy!
Pawmodoro is a productivity tool 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 originally developed as a Java Swing application and has been migrated to a web stack using Spring Boot and Next.js.
- 🕒 Customizable study and break intervals
- 🐈 Virtual cat companions that respond to your study habits
- 📊 Track your progress and cat's well-being
- 🌐 Access from any device with a web browser
- Flexible study and break duration settings
- Visual progress tracking
- Customizable auto-start options
- Feed and interact with virtual cats
- Monitor cat happiness and hunger levels
- Earn rewards through completed study sessions
- Study session statistics
- Level progression system
- Music integration
pawmodoro-web/
├── backend/ # Spring Boot backend
├── frontend/ # Next.js frontend
└── README.md
- Java 21 or higher
- Node.js 18 or higher
- Maven 3.8 or higher
- Git
- Clone the main repository with its submodules:
git clone --recurse-submodules https://github.com/rachelkd/pawmodoro-web.git
cd pawmodoro-web
If you've already cloned the repository without submodules, initialize them with:
git submodule init
git submodule update
- Navigate to the backend directory:
cd backend
- Create a
application-local.properties
file insrc/main/resources
with your Supabase credentials:
supabase.url=your_supabase_url
supabase.key=your_supabase_anon_key
supabase.secret=your_supabase_service_role_key
- Build and run the Spring Boot application:
./mvnw spring-boot:run
The backend will start on http://localhost:8080
- Navigate to the frontend directory:
cd frontend
- Create a
.env.local
file with your Supabase credentials:
NEXT_PUBLIC_API_URL=http://localhost:8080 # Or whatever port the backend is hosted on
- Install dependencies and run the development server:
npm install
npm run dev
The frontend will start on http://localhost:3000
-
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
- Create a new branch for your feature:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git add .
git commit -m "Add your commit message"
- Push to your branch:
git push origin feature/your-feature-name
- Create a Pull Request from your branch to main.
For detailed contribution guidelines, please check our Contributing Guide.
- Allyssa Chiu (@chiually)
- Rachel Deng (@rachelkd)
- Jeha Park (@jehapark)
- Manahill Sajid (@manahillsajid)
- Jinny Yoo (@yhj050224)
- Cat illustrations by Natalia Kosheleva on iStock
- Original Java Swing implementation: pawmodoro
This project is licensed under the MIT License - see the LICENSE file for details.