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.
The project uses Supabase as the backend and database. To install it locally, follow these steps:
-
Choose a Folder for Supabase
Select a folder where you will host Supabase.
-
Get the Code
Clone the Supabase repository:
git clone --depth 1 https://github.com/supabase/supabase
-
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
-
Navigate to the Docker Folder
Open your terminal and go to the docker folder:
cd supabase/docker
-
Copy the Fake Environment Variables
Run the following command:
cp .env-copy-supabase .env
-
Pull the Latest Docker Images
Execute:
docker compose pull
-
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.
-
Access the Supabase Dashboard
- Visit: http://localhost:8000
- Login using the following credentials:
- User: supabase
- Password: password
From the dashboard, you can manage your database and other Supabase functionalities. For more details, visit the Supabase Documentation.
-
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
-
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.
-
Start the Project
Finally, start the project with:
pnpm run dev
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