No more endless discussions to find a date: let us suggest the best times that suit everyone.
You have two options to set up your development environment:
- Dev Container (Recommended) - Complete development environment in Docker with IDE integration
- Local Setup - Traditional setup on your host machine
-
Prerequisites
- Docker installed
- VS Code with Dev Containers extension OR Zed (recent version)
-
Open in Container
# Clone the repository git clone https://github.com/ZideStudio/SlotFinder cd SlotFinder # Open in VS Code code . # Then: Cmd/Ctrl+Shift+P → "Dev Containers: Reopen in Container" # OR open in Zed zed . # Then: Cmd/Ctrl+Shift+P → "projects: open dev container"
-
Wait for Setup
- The container builds automatically
- Infrastructure services start automatically (Traefik, PostgreSQL)
-
Start the application
Run the following command inside the container (or use the VS Code task
make: start):make
-
Start Coding!
git clone https://github.com/ZideStudio/SlotFinder
cd SlotFinderInstall toolchain versions with mise (Node, npm, Go)
mise installClone the env back/.env.model file to back/.env and modify the variables as needed.
Note that the default values prefixed with DB_ are already set and work with the dockerized development environment. You can change them if you want to connect to an external database.
The backend uses RSA key pairs to sign and verify JWTs. Generate them with:
openssl genrsa -out back/config/jwt/private.pem 4096
openssl rsa -in back/config/jwt/private.pem -pubout -out back/config/jwt/public.pemThe paths are configured via AUTH_PRIVATE_PEM_PATH and AUTH_PUBLIC_PEM_PATH in back/.env (defaults already point to config/jwt/private.pem and config/jwt/public.pem).
make docker-depsmake startAccess the application:
- Frontend: https://localhost
- Storybook: http://localhost:3002
- Backend API: https://localhost/api
- Traefik Dashboard: http://localhost:9000
To stop infrastructure:
make docker-deps-downNote: The development environment uses self-signed certificates. Your browser will show a security warning - this is normal for local development. You can safely proceed by clicking "Advanced" > "Proceed to localhost".
Connect to the development database:
Host: localhost
Port: 5432
Username: slotfinder
Password: slotfinder
Database: slotfinder
Example connection:
psql -h localhost -p 5432 -U slotfinder -d slotfinderStart and stop Docker services (Traefik + PostgreSQL):
Host Mode (use when running frontend & backend on your machine, not in a dev container):
make docker-deps # Start Traefik + PostgreSQL
make docker-deps-down # Stop servicesmake # Start frontend and backend
make start # Start frontend and backend
make front # Start frontend only
make back # Start backend only (with hot reload)
make storybook # Start Storybook- Frontend: React with Rsbuild, TypeScript, Sass
- Backend: Go with Gin framework, PostgreSQL
- Development: Docker Compose with Traefik reverse proxy
- Hot Reload: Automatic updates for both frontend and backend
This project is licensed under the MIT License, see the LICENSE file for details.