Skip to content

jorgepedraza88/snapretro

Repository files navigation

SnapRetro

SnapRetro is a free tool to create and manage retrospective meetings. It is an alternative to Parabol and is built with Next.js, Supabase, and Tailwind CSS.

How to Install the Project Locally

The project uses Supabase as the backend and database. To install it locally, follow these steps:

  1. Choose a Folder for Supabase

    Select a folder where you will host Supabase.

  2. Get the Code

    Clone the Supabase repository:

    git clone --depth 1 https://github.com/supabase/supabase
  3. Copy Configuration Files

    After installation (this may take a few minutes), copy the following files into the /supabase/docker folder:

    • .env-copy-supabase
    • docker-compose.yml
  4. Navigate to the Docker Folder

    Open your terminal and go to the docker folder:

    cd supabase/docker
  5. Copy the Fake Environment Variables

    Run the following command:

    cp .env-copy-supabase .env
  6. Pull the Latest Docker Images

    Execute:

    docker compose pull
  7. Start the Services

    Before starting, ensure that no other instances are running on the required ports. Then, start the services in detached mode:

    docker compose up -d

    With these steps, your local environment with Supabase is ready.

  8. Access the Supabase Dashboard

    From the dashboard, you can manage your database and other Supabase functionalities. For more details, visit the Supabase Documentation.

Cloning SnapRetro and Setting Up the Next.js Project

  1. Clone this Repository

    Clone the SnapRetro repository to your local machine.

    Important: When installing dependencies, you need to add the following due some issues with shadcn and React 19

     pnpm install
  2. Run Prisma Migration

To copy the schema to the Supabase database, run:

pnpm run migrate:development --name init

Wait until the schema is created in the database.

  1. Start the Project

    Finally, start the project with:

    pnpm run dev

Project Status

This project is still a Work in Progress (WIP). The following changes are planned for future updates:

  • Complete Dark Mode Implementation: Clean up CSS classes added by shadcn and handle dark mode manually with dark: classes
  • Add More E2E Tests: Improve test coverage with additional end-to-end tests
  • Code Cleanup: Review and refactor components where possible to improve code quality
  • Complete Homepage: Add documentation, GIFs, and information about data usage
  • Improve ESLint Rules: Enhance code consistency with better linting rules
  • Enhance Typing Indicator: Improve the behavior of the "Typing..." indicator during text entry
  • Additional Export Options: Enable more ways to export retrospective data

About

An open-source tool for creating retrospective meetings | Next.js - Supabase - Typescript

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Languages