Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tamagotchi Time

About

Tamagotchi Time is a full-stack web app that helps you build habits by turning completed Pomodoro-style sessions into rewards for a virtual pet companion. Normally for most of the time we use a simple timmer app to track time doing various activites so we decided to build this app to create a fun and interactive way to see progress in tracking one's time instead of a simple timer app.

  • Backend: Flask + SQLAlchemy + Flask-Login on SQLite, with custom data structures(reward trees, level graphs) and Huffman-encoded images for efficent payloads
  • Frontend: React with React Router and Axios, featuring a timer,dynamic reward choices,pet evolution based on streaks/levels, and a real-time leaderboard
  • Rules
    Stay focused for the full timer duration. You get a pet after 3 successful sessions. Cancel more than 3 times and your pet & rewards reset. Choose your treats after each session beyond streak #3.

    ⚙️ Level-Up Requirements
    Start: complete 3 sessions of 10 mins and choose food.
    Level 1: complete 3 sessions of 10 mins and choose playtime.
    Level 2: complete 3 sessions of 25 mins and choose walk.
    Level 3: complete 3 sessions of 25 mins and choose treats.
    Level 4: complete 3 sessions of 50 mins and choose toy.
    Level 5: complete 3 sessions of 50 mins and choose bath.
    Level 6: complete 10 sessions of 10 mins and choose food.
    Level 7: complete 10 sessions of 25 mins and choose walk.
    Level 8: complete 15 sessions of 25 mins) and choose treats.
    Level 9: complete 40 sessions of 50 mins and choose bath.
    Level 10: complete 50 sessions of 50 mins and choose toy.

    ⏱️ Reward Thresholds
    After 50 mins: choose toy or bath
    After 25 mins: choose treats or walk
    After 10 mins: choose food or playtime

    ⏭️ Skip Rules
    If you have 0 cancels, you may skip from Level 3 to Level 5.
    If you have 0 cancels, you may skip from Level 8 to Level 10.

How to use this project

  1. Clone the repository
  2. Backend setup
    • Move into the backend directory - cd backend
    • Create a new virtual environment - python3 -m venv env
    • Activate the virtual environment
    • For Windows : .\env\Scripts\activate
    • For Mac : source env/bin/activate
    • You will now see a (venv) infront of your command line
    • To install all dependencies and packages, run pip3 install -r requirements.txt
    • Run the file
    • python3 app.py
  3. Frontend setup
    • cd frontend
    • cd frontend
    • npm install
    • npm start
  4. Using the app
    • Register a new account and pick your pet
    • Start the timer (10,25,50) to log a session
    • After 3 session, unlock your pet and begin choosing rewards
    • Track your focus streak, total focus time, and current level on the Progress Page
    • See the Top 3 on the Leaderboard Page
    • Hit Cancel three time and your pet & rewards tree will reset-stay honest!

Demo

Image Image Image Image

Table of Contents

About Getting started Demo Project Roadmap Documentation
Contributors Acknowledgments Feedback Contact License

back to top ⬆️

Project Roadmap

back to top ⬆️

Documentation

Contributors

Andrea’s avatar Marcos’s avatar Clarence’s avatar

Acknowledgments

back to top ⬆️

Feedback

We welcome your feedback and contributions! To help us improve:
- Bug reports & feature requests: Please open an issue in GitHub and include steps to reproduce or a clear description of your idea.

Project Manager: Andrea Muñoz - amuno5@uic.edu / andreamunoz176@gmail.com

Contact

Project Manager: Andrea Muñoz - amuno5@uic.edu / andreamunoz176@gmail.com Blame: Backend/Frontend Implentation
Backend: Marcos Ambriz - mambr3@uic.edu
Frontend: Clarence Calarde - calarde3@uic.edu

License

back to top ⬆️

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages