Parfait. Tu passes du mode "j'ai un projet" au mode "j'ai un produit qu'on peut vendre et défendre". 🎯
Je te livre 4 choses dans cette réponse :
Copie-colle ceci dans README.md à la racine du repo (remplace le template Lovable) :
# Voice Insights Hub 🎙️📊
Hub d'enregistrement + transcription + analyse IA pour conversations vocales (Discord aujourd'hui, extensible demain).
## 🎯 Pourquoi ce projet ?
Les conversations importantes se perdent dans la voix :
- décisions prises à l'oral
- tâches non notées
- malentendus
- "on verra plus tard" qui devient "jamais"
Voice Insights Hub transforme les salons vocaux en données exploitables :
- enregistrement
- transcription
- résumé
- points clés
- zones floues
- actions à faire
- sentiment
## ✅ Fonctionnalités principales
### Côté web (Front)
- Auth (Supabase)
- Liste des réunions / enregistrements
- Détail réunion : audio + transcription + analyse + actions + ressources
- Realtime : arrivée d'un nouvel enregistrement = notif + refresh automatique
### Intégration Discord
- Sélection serveur + salon vocal
- Bot : rejoindre / quitter un salon
- Webhook : réception fin d'enregistrement
- Sauvegarde : meeting + participants + audio + transcriptions + analyse IA
### Analyse IA (optionnelle)
- Résumé
- Key points
- "Fuzzy points" (zones floues / points à éclaircir)
- Action items (tâches + priorité)
- Sentiment + score
> L'analyse IA est actuellement branchée via Lovable AI Gateway si la clé est configurée.
## 🧱 Stack technique
- Front : Vite + React + TypeScript + Tailwind + shadcn/ui
- Data/Auth : Supabase (Postgres + Auth + Realtime)
- Backend serverless : Supabase Edge Functions (Deno)
- Intégration Discord : API + bot + webhooks
## 🗂️ Architecture (vue rapide)
- `src/` : UI + pages + hooks
- `src/pages/Meetings.tsx` : liste
- `src/pages/MeetingDetail.tsx` : détail
- `src/hooks/useMeetings.ts` : fetch + realtime Supabase
- `src/hooks/useDiscord.ts` : guilds/channels/members + bot control
- `supabase/migrations/` : schéma base de données
- `supabase/functions/`
- `discord-api/` : appels API Discord (bot, guilds, channels, members)
- `discord-bot-control/` : join/leave voice + statut enregistrement
- `discord-recording-webhook/` : ingestion payload + stockage + analyse IA
## ⚙️ Prérequis
- Node.js 18+ (ou Bun)
- Un projet Supabase (URL + anon key)
- Un bot Discord (token + permissions)
- (Optionnel) Lovable AI Key pour l'analyse IA
## 🔐 Variables d'environnement
Copier `.env.example` vers `.env`, puis remplir.
Variables attendues côté front (Vite) :
- `VITE_SUPABASE_URL`
- `VITE_SUPABASE_ANON_KEY`
Variables côté Supabase Functions (à configurer dans Supabase) :
- `DISCORD_BOT_TOKEN` (si utilisé)
- `DISCORD_CLIENT_ID` / `DISCORD_CLIENT_SECRET` (si OAuth ou API requiert)
- `WEBHOOK_SECRET` (si sécurisation webhook)
- `LOVABLE_API_KEY` (optionnel, pour analyse IA)
## ▶️ Lancer en local
### Avec npm
```bash
npm install
npm run dev
### Avec bun (si tu préfères)
```bash
bun install
bun dev
## 🚀 Déploiement
- Front : déployer sur Vercel/Netlify/Cloudflare Pages
- Supabase : migrations + edge functions via Supabase CLI ou dashboard
## 🧪 Démo rapide
1. Se connecter (Auth)
2. Aller dans l'onglet Discord
3. Choisir un serveur + un salon vocal
4. Bot rejoint → enregistrement démarre