尚未检测到更新。GitHub 发布版本后会显示在这里。
Gestion d'un club de hockey subaquatique : adhérents, cotisations, entraînements, compta.
翻译准备中
正在加载完整 README。 以下为已保存的摘录。
Miss UWH — Bilan comptable d'un club de Hockey Subaquatique PWA mobile-first qui remplace le classeur Excel de gestion comptable saisonnière d'une association sportive de Hockey Subaquatique (UWH — _Under Water Hockey_). Journal comptable, recettes/dépenses par catégorie, résultat par événement, clôture de saison verrouillée, justificatifs, audit, exports. • Démo / app : https://mister-guiiug.github.io/miss-uwh/ (100 % local, hors ligne, installable) • Code : https://github.com/mister-guiiug/miss-uwh • Membre de la famille de PWA miss-* / mister-* (React 19 + Vite + Tailwind v4).查看完整 README ↗
PWA mobile-first qui remplace le classeur Excel de gestion comptable saisonnière d'une association sportive de Hockey Subaquatique (UWH — Under Water Hockey). Journal comptable, recettes/dépenses par catégorie, résultat par événement, clôture de saison verrouillée, justificatifs, audit, exports.
npm run dev, en mode local.miss-* / mister-* (React 19 + Vite + Tailwind v4).Conçu à partir d'un classeur réel (
Bilan comptable 2025-2026.xlsx, club Clermont Hockey Sub) : synthèse bilan, journalCompte, 24 sous-feuilles de catégories R1–R9 / D1–D13, et l'ongletEvolutionmulti-saisons.
Donner au trésorier d'un petit club un outil aussi souple qu'un tableur mais fiable, traçable et partageable :
Principe directeur : local-first dans le code (sans VITE_BACKEND, l'app
tourne seule dans le navigateur, hors ligne, sans compte) et montée en sécurité
via Supabase (multi-utilisateurs, RBAC serveur, MFA, audit serveur,
justificatifs dans un bucket privé). L'instance publiée est en mode Supabase :
.env.production, versionné, pose VITE_BACKEND=supabase pour tout build de
production.
┌──────────────────────────── Frontend (GitHub Pages, statique) ───────────────────────────┐
│ React 19 + TypeScript strict + Vite 8 + Tailwind v4 + vite-plugin-pwa (offline) │
│ │
│ features/ bilan · journal · categories · seasons · audit · settings · import │
│ shared/lib/ engine.ts (moteur comptable PUR & testé) · categories · schema(zod) │
│ store/ useAppStore (Zustand) — point unique de persistance + audit │
│ backend/config VITE_BACKEND = local | supabase (switch) │
└───────────────┬───────────────────────────────────────────────────────────┬──────────────┘
│ mode local (défaut) │ mode supabase
┌───────▼─────────┐ ┌──────────▼───────────────┐
│ localStorage │ │ Supabase (eu-central-1) │
│ enveloppe │ │ Postgres + RLS (RBAC) │
│ versionnée + │ │ Auth + MFA (TOTP) │
│ migrations zod │ │ Storage privé (PJ) │
└─────────────────┘ │ Triggers d'audit │
└──────────────────────────┘
anon publiée dans le bundle est inoffensive car chaque table est
protégée par RLS, jamais par le client.src/shared/lib/engine.ts) : aucune dépendance UI ni
réseau, testé (planchers de couverture sur le cœur pur) ; la logique métier est
identique en local et en serveur.Stack : React 19, TypeScript ~6 strict (ES2025), Vite 8, Tailwind v4
(@tailwindcss/vite), Vitest 5, vite-plugin-pwa, React Router 7 (HashRouter),
Zustand, Zod 4, lucide-react, @supabase/supabase-js, @sentry/react (rapports
d'erreur), posthog-js (mesure d'audience, après accord). Conventions partagées
via @mister-guiiug/dev-pwa-config.
Types : src/shared/types/domain.ts · Validation zod :
schema.ts · Schéma SQL : supabase/migrations/0001_schema.sql.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗