Skip to content

Repository files navigation

Poro: The Gamified Pomodoro Timer

Poro is a web application that combines the Pomodoro Technique and a Kanban board with gamification elements to make your work or study sessions more productive and engaging. Track your tasks, complete Pomodoro sessions, and level up as you maintain your focus streak.

Poro Screenshot

Features

  • Task Management: Create, manage, and track your tasks.
  • Pomodoro Timer: A classic Pomodoro timer to help you focus.
  • Gamification:
    • XP and Levels: Gain experience points (XP) for completing Pomodoro sessions and level up.
    • Streaks: Maintain a daily streak of completed sessions.
    • Streak Freezes: Earn streak freezes to protect your streak on missed days.
  • User Authentication: Secure user authentication using Supabase.
  • Friends System: Add friends and see their daily progress.

Tech Stack

Getting Started

To get a local copy up and running, follow these simple steps.

Prerequisites

Installation

  1. Clone the repo

    git clone https://github.com/your_username/poro.git
    cd poro
  2. Install NPM packages

    npm install
  3. Set up Supabase

    • Start Supabase services This will start the Supabase containers.

      npx supabase start
    • Get your Supabase keys You'll need the API URL and the anon key from the output of the supabase start command.

  4. Set up environment variables

    • Create a .env.local file in the root of your project.
      touch .env.local
    • Add your Supabase URL and anon key to the .env.local file:
      NEXT_PUBLIC_SUPABASE_URL=YOUR_SUPABASE_URL
      NEXT_PUBLIC_SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY
      
  5. Apply database migrations

    This will set up the necessary tables and functions in your local Supabase database.

    npx supabase db reset
  6. Run the development server

    npm run dev

    Open http://localhost:3000 with your browser to see the result.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

About

Gamified pomodoro and kanban in one web application

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages