Erste Schritte
Lokales Setup
Bring den vollständigen Stack auf deiner Maschine zum Laufen.
git clone https://github.com/robbeverhelst/routess.git
cd routess
bun install
cp .env.example .env
bun run devbun run dev macht Folgendes:
- Installiert Abhängigkeiten, falls
node_modulesfehlt - Wählt freie lokale Ports für die API, Docs, Web-App, Landing, Postgres und pgAdmin
- Startet einen Postgres-Container
- Startet pgAdmin
- Baut alle
packages/*(damit die Apps sie importieren können) - Führt jede
apps/*parallel im Dev-Modus aus
Falls ein Standard-Port bereits belegt ist, wählt bun run dev automatisch den nächsten freien lokalen Port.
Eigene, vom Standard abweichende Port-Werte in .env werden als explizite Overrides behandelt.
Du solltest sehen:
- Web: http://localhost:5173
- API: http://localhost:3000
- Docs: http://localhost:3001 (diese Seite)
- Landing: http://localhost:3002
- pgAdmin: http://localhost:5050 (oder das
PGADMIN_PORTaus deiner Root-.env)
Umgebungsvariablen
Das Repo nutzt eine gemeinsame Root-.env. Kopieren und ausfüllen:
cp .env.example .envErforderliche Werte:
VITE_MAPBOX_ACCESS_TOKEN: hol dir einen unter mapbox.comVITE_GOOGLE_CLIENT_ID/GOOGLE_CLIENT_ID: aus der Google Cloud ConsoleGOOGLE_CLIENT_SECRET: aus der Google Cloud Console (von der API genutzt, um Auth-Codes auszutauschen)JWT_SECRET: ein beliebiger zufälliger String für die lokale Entwicklung
Optionale lokale Port-Overrides:
PORT: API-Port, Standard3000DOCS_PORT: Docs-Port, Standard3001WEB_PORT: Web-Port, Standard5173LANDING_PORT: Landing-Port, Standard3002DB_PORT: ändere dies, wenn5432bereits belegt istPGADMIN_PORT: ändere dies, wenn5050bereits belegt ist
Nützliche Skripte
bun run lint:check # bun lint + Biome across the repo
bun run check-types # TypeScript across all workspaces
bun run test # Run the test suite
bun run build # Build everything (packages first, then apps)
bun run ci # Run the full CI pipeline locally