Repository & Git
Monorepo structuur
Section titled “Monorepo structuur”Het project gebruikt een pnpm monorepo.
Directoryapps/
Directoryweb/ Vite + React SPA (klantportaal + admin)
Directorysrc/
Directoryroutes/ React Router routes
- …
Directorycomponents/ UI componenten
- …
Directorylib/
Directoryhooks/ Tanstack Query hooks
- …
Directorystores/ Zustand stores
- …
Directoryauth/ Supabase auth client
- …
- main.tsx Entrypoint
- vite.config.ts
- package.json
Directoryapi/ Hono op Cloudflare Workers
Directorysrc/
Directoryroutes/ API endpoints
- …
Directoryservices/ Supabase service layer
- …
Directorymiddleware/ Auth, rate limiting, CORS
- …
- index.ts
- wrangler.toml
- package.json
Directorydocs/ Astro Starlight documentatie
- …
Directorypackages/
Directoryshared/ Gedeelde types + utilities
Directorysrc/
- types.ts Database types, API types
- validation.ts Zod schemas
- constants.ts Gedeelde constanten
- package.json
Directorysupabase/
Directorymigrations/ Database migraties
- …
- seed.sql Test data
Directory.github/
Directoryworkflows/
- deploy-web.yml
- deploy-api.yml
- deploy-docs.yml
- ci.yml
- pnpm-workspace.yaml
- package.json
- .gitignore
pnpm-workspace.yaml
Section titled “pnpm-workspace.yaml”packages: - apps/* - packages/*Branch strategie
Section titled “Branch strategie”main → Productie. Altijd stabiel en deploybaar. Cloudflare productie deploy.develop → Integratie. Features komen hier samen. Cloudflare preview deploy.feature/[naam] → Per feature of bugfix. Merge naar develop via Pull Request.hotfix/[naam] → Urgente fixes direct op main.Commit conventie
Section titled “Commit conventie”Gebruik Conventional Commits:
feat: voeg Sentoo webhook handler toefix: herstel betaalstatus update na webhookdocs: update datamodel met subscription_invoices tabelchore: update dependenciesrefactor: vereenvoudig boekingsflow validatieTypes: feat / fix / docs / chore / refactor / test / style
Pull Request flow
Section titled “Pull Request flow”-
Branch aanmaken vanaf develop
Terminal window git checkout -b feature/booking-flow -
Werk uitvoeren + commits
-
Push naar GitHub
Terminal window git push origin feature/booking-flow -
Pull Request aanmaken naar develop Beschrijving van wijzigingen + link naar relevante docs pagina
-
GitHub Actions draaien automatisch Lint check, type check en build check
-
Review + merge
-
Automatische deploy naar preview omgeving
Quality gates
Section titled “Quality gates”Elke significante wijziging MOET slagen:
pnpm typecheck— 0 errorspnpm lint— 0 errors, 0 warningspnpm build— voor geraakt(e) app(s)
.gitignore
Section titled “.gitignore”node_modules/.env.env.local.env.*.localdist/.astro/.wrangler/.DS_StoreEnvironment variables
Section titled “Environment variables”Ze worden beheerd via:
- GitHub repository secrets (voor GitHub Actions)
- Cloudflare Pages/Workers environment variables (voor de app/API)
- Lokaal:
.env.local(niet in git)
Zie Cloudflare en Supabase voor de benodigde variabelen.