Plateforme d invitations numériques événementielles — Burkina Faso (Cloudflare Workers + Hono + Supabase)
# Yeleen — Plateforme d’invitations événementielles numériques
> *Yeleen, du mooré : « la lumière »* — La lumière de votre événement
Plateforme d'invitations numériques interactives pour l'Afrique de l'Ouest (Burkina Faso). Mariages, baptêmes, anniversaires — chaque invitation est unique, vivante et mémorable.
---
## Architecture technique
| Couche | Choix |
|---|---|
| Runtime | Cloudflare Workers (edge) |
| Framework backend | Hono |
| API | Routeurs RESTful typés |
| Base de données | PostgreSQL via Supabase (RLS forcée) |
| Auth | Supabase Auth |
| Stockage médias | Cloudflare R2 |
| Cache / rate limiting | Cloudflare KV |
| Anti-bot | Cloudflare Turnstile |
| Emails | Brevo (3 clés en rotation) |
| WhatsApp rappels | API Meta Graph |
| Aide rédaction | Gemini AI (interne, jamais exposé) |
| Frontend | SPA vanilla JS (aucun framework côté client) |
---
## Structure du projet
```
yeleen/
├── src/
│ ├── index.tsx # Point d'entrée Hono
│ ├── types/index.ts # Types TypeScript (alignés schema SQL)
│ ├── lib/
│ │ ├── supabase.ts # Client Supabase
│ │ ├── security.ts # CSRF, hachage, rate limiting, Turnstile
│ │ ├── session.ts # Gestion sessions (HMAC-SHA256)
│ │ ├── notifications.ts # Brevo (rotation 3 clés) + WhatsApp
│ │ ├── rappels.ts # Cron rappels J-7/J-5/J-3/J-1/Jour J
│ │ └── calendrier.ts # Génération .ics + Google/Outlook
│ ├── middleware/
│ │ └── auth.ts # Auth, admin, partenaire, client, cron
│ └── routes/
│ ├── auth/index.ts # Connexion, déconnexion, reset MDP
│ ├── catalogue/index.ts # Plans, modèles, musique, FAQ
│ ├── commande/index.ts # Création commande, génération texte
│ ├── invitation/index.ts# Consultation publique, RSVP, livre d'or
│ ├── espaceClient/index.ts # Tableau de bord client
│ ├── admin/index.ts # Dashboard complet admin
│ └── partenaire/index.ts# Dashboard partenaire
├── p …