No description
  • TypeScript 68.4%
  • JavaScript 15.3%
  • Svelte 13.8%
  • HTML 2.5%
Find a file
2026-06-18 21:28:30 +02:00
data tets 2026-06-18 21:28:30 +02:00
docs tets 2026-06-18 21:28:30 +02:00
scripts tets 2026-06-18 21:28:30 +02:00
src tets 2026-06-18 21:28:30 +02:00
static tets 2026-06-18 21:28:30 +02:00
.env.example tets 2026-06-18 21:28:30 +02:00
.gitignore tets 2026-06-18 21:28:30 +02:00
.mcp.json tets 2026-06-18 21:28:30 +02:00
.npmrc tets 2026-06-18 21:28:30 +02:00
.prettierignore tets 2026-06-18 21:28:30 +02:00
eslint.config.js tets 2026-06-18 21:28:30 +02:00
package.json tets 2026-06-18 21:28:30 +02:00
pnpm-lock.yaml tets 2026-06-18 21:28:30 +02:00
pnpm-workspace.yaml tets 2026-06-18 21:28:30 +02:00
README.md tets 2026-06-18 21:28:30 +02:00
tsconfig.json tets 2026-06-18 21:28:30 +02:00
vite.config.ts tets 2026-06-18 21:28:30 +02:00

membres.gongfucha.fr

Outil interne de gestion des membres gongfucha — ~500 clients, check-in festival, synchronisation Stripe.

Pile technique

SvelteKit 5 · TypeScript strict · CSS vanilla · adapter-node · pnpm

Stripe comme source unique de vérité : données et état (check-in, emails envoyés) lus et écrits en temps réel via l'API, sans base de données.

Démarrage

pnpm install
pnpm dev

Commandes

pnpm dev        # serveur de développement
pnpm build      # compilation production
pnpm preview    # prévisualiser le build
pnpm check      # vérification des types (svelte-check)
pnpm lint       # eslint + prettier
pnpm format     # prettier --write
pnpm test       # vitest (unit + composants)

Infrastructure

Internet → Caddy (TLS) → Node/SvelteKit (systemd) → API Stripe
Forgejo (webhook merge main) → git pull → pnpm build → redémarrage

Variables d'environnement

STRIPE_SECRET_KEY
FESTIVAL_PRODUCT_ID
SMTP_HOST / SMTP_PORT / SMTP_USER / SMTP_PASS
SESSION_SECRET