Réservez en quelques clics chez les meilleurs artisans près de chez vous, à des tarifs moins chers.
Translation pending
CommerceGitHub @chloewilhelm-okOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗L'atelier créatif près de chez vous, à prix doux.
Creazio est une marketplace d'ateliers créatifs en Île-de-France : poterie, cuir, vitrail, bois, cuisine, bijouterie… Les artisans y proposent leurs créneaux creux avec une remise de 20 à 50 %, et les élèves les réservent avec des crédits achetés à l'avance.
Version de démonstration : l'achat de crédits est simulé, aucun paiement réel n'est demandé.
docs/legal/cgu.md (en ligne sur /cgu)docs/legal/confidentialite.md (en ligne sur /confidentialite)docs/design-system.mddocs/audit-securite.mddocs/maquettes-stitch/docs/documentation-technique.md| Brique | Rôle |
|---|---|
| TanStack Start (React 19, TanStack Router, TanStack Query) | Application web : routes typées, gardes d'accès par rôle (beforeLoad), chargement et cache des données |
| Tailwind CSS v4 | Mise en forme, avec les jetons du design system (Deep Forest, Terracotta, Laiton) |
| Recharts | Graphiques du dashboard artisan, accompagnés de résumés texte et de tableaux pour l'accessibilité |
| Supabase Auth | Comptes élèves et artisans, emails d'authentification en français |
| Supabase Postgres + RLS | Base de données. Chaque utilisateur ne lit que ses propres données (règles RLS et droits par colonne) |
| Fonctions SQL (SECURITY DEFINER) | Opérations sensibles côté serveur : réserver, annuler, acheter un pack, générer les séances, protéger les prix |
| Supabase Edge Functions (Deno) | trouver-atelier (assistant IA), envoyer-confirmation-reservation et alerter-verification-atelier (emails) |
| Supabase Realtime | Mise à jour en direct du dashboard artisan à chaque réservation |
| Vercel | Hébergement et déploiement continu depuis la branche main |
| Resend | Envoi des emails (confirmation de réservation, alerte de vérification, emails d'authentification par SMTP) |
| Google Gemini (Flash-Lite) | Assistant « Trouve ton atelier idéal ». Seuls la phrase saisie, l'arrondissement et la liste des ateliers disponibles lui sont envoyés |
| Claude Cowork + Notion | Agent de prospection : lecture des vues anonymes, suivi des artisans à contacter dans Notion |
| Claude Code | Développement assisté depuis le 18/10/2026 |
src/
routes/ Une route par fichier (TanStack Router) ; routeTree.gen.ts est généré
components/creazio/ Écrans et composants de Creazio (pages, fiche, créneaux, filtres, dashboard…)
components/ui/ Composants de base (shadcn/ui)
lib/ Logique sans interface : authentification et rôles, réservations, filtres,
tableau de bord, assistant IA, adresses (fonctions testées)
integrations/supabase/ Client Supabase et types générés de la base
test/ Tests Vitest
supabase/
migrations/ Évolutions du schéma (tables, RLS, fonctions, triggers), dans l'ordre
functions/ Edge Functions (Deno)
scripts/ Scripts SQL de diagnostic et de données de démo, réversibles
templates/ Modèles des emails d'authentification
docs/ Design system, audit de sécurité, textes légaux, maquettes Stitch
public/ateliers/ Photos des ateliers de démo
Prérequis : Node.js 20 ou plus et npm.
git clone https://github.com/chloewilhelm-ok/creazio.git
cd creazio
npm install
cp .env.example .env # puis renseigner les valeurs
npm run dev # http://localhost:8080
Variables de .env (voir .env.example). Uniquement des valeurs publiques :
| Variable | Contenu |
|---|---|
VITE_SUPABASE_URL, SUPABASE_URL | URL du projet Supabase |
VITE_SUPABASE_PUBLISHABLE_KEY, SUPABASE_PUBLISHABLE_KEY | Clé publique (publishable / anon) |
VITE_SUPABASE_PROJECT_ID, SUPABASE_PROJECT_ID | Identifiant du projet |
Les clés secrètes (clé service Supabase, Resend, Gemini) ne vont jamais dans .env ni dans le code. Elles sont enregistrées dans les secrets des Edge Functions Supabase.
npm test # tests unitaires Vitest
npm run lint # ESLint
npm run build # build de production
Les tests couvrent les règles métier : rôles et gardes d'accès, inscription et consentements, réservation et annulation, filtres de recherche, calculs du dashboard (versements mensuels), emails, assistant IA (aucune donnée personnelle envoyée à Gemini) et pages légales.
main est déployé par Vercel. Les variables publiques sont définies dans les réglages du projet Vercel.supabase/migrations/ sont appliquées sur le projet Supabase, après validation.RESEND_API_KEY, GEMINI_API_KEY, EMAIL_EXPEDITEUR) sont saisis dans le tableau de bord Supabase.L'audit complet est dans docs/audit-securite.md : points contrôlés, alertes corrigées, risques assumés en V1 et recommandations pour la production. En résumé :
docs/design-system.md : couleurs, typographies, composants, contrastes WCAG.docs/legal/ : CGU et politique de confidentialité (source des pages /cgu et /confidentialite).docs/maquettes-stitch/ : maquettes Google Stitch exportées et audits d'accessibilité.docs/audit-securite.md : audit de sécurité.docs/documentation-technique.md : documentation technique pour reprendre le projet.AGENTS.md : règles d'architecture à respecter lors des modifications.Chloé Wilhelm · Projet fil rouge Bootcamp Vibe Coding, Lion · [email protected]