# Guide de Configuration - Mes Budgets Participatifs ## 🚀 Configuration Rapide ### 1. Installation des dĂ©pendances ```bash npm install ``` ### 2. Configuration Supabase #### Étape 1 : CrĂ©er un projet Supabase 1. Allez sur [supabase.com](https://supabase.com) 2. CrĂ©ez un nouveau projet 3. Notez votre URL et votre clĂ© anon dans les paramĂštres du projet #### Étape 2 : Configurer la base de donnĂ©es 1. Dans votre projet Supabase, allez dans **SQL Editor** 2. Copiez et exĂ©cutez le contenu du fichier `supabase-schema.sql` 3. VĂ©rifiez que les tables sont créées dans **Table Editor** #### Étape 3 : Configurer les variables d'environnement 1. Copiez le fichier `env.example` vers `.env.local` 2. Remplacez les valeurs par vos vraies informations Supabase : ```env NEXT_PUBLIC_SUPABASE_URL=https://your-project-id.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key-here ``` ### 3. Lancer l'application ```bash npm run dev ``` L'application sera accessible sur `http://localhost:3000` ## 📊 Structure de la Base de DonnĂ©es ### Tables créées automatiquement : #### `campaigns` - **id** : Identifiant unique (UUID) - **title** : Titre de la campagne - **description** : Description dĂ©taillĂ©e - **status** : État (`deposit`, `voting`, `closed`) - **budget_per_user** : Budget par participant (€) - **spending_tiers** : Paliers de dĂ©penses (ex: "10,25,50,100") - **created_at** : Date de crĂ©ation - **updated_at** : Date de modification #### `propositions` - **id** : Identifiant unique (UUID) - **campaign_id** : RĂ©fĂ©rence vers la campagne - **title** : Titre de la proposition - **description** : Description dĂ©taillĂ©e - **created_at** : Date de crĂ©ation #### `participants` - **id** : Identifiant unique (UUID) - **campaign_id** : RĂ©fĂ©rence vers la campagne - **first_name** : PrĂ©nom - **last_name** : Nom - **email** : Adresse email - **created_at** : Date de crĂ©ation ## 🔧 FonctionnalitĂ©s Disponibles ### Page d'accueil (`/`) - PrĂ©sentation de l'application - Bouton d'accĂšs Ă  l'administration - Design moderne et responsive ### Page d'administration (`/admin`) - **Liste des campagnes** : Affichage de toutes les campagnes avec leur statut - **CrĂ©er une campagne** : Formulaire complet avec validation - **Ajouter des propositions** : Par campagne - **Ajouter des participants** : Par campagne - **Indicateurs visuels** : Statuts colorĂ©s pour chaque campagne ### Modals interactifs - **CrĂ©ation de campagne** : Titre, description, budget, paliers, statut - **Ajout de proposition** : Titre et description - **Ajout de participant** : PrĂ©nom, nom, email ## 🎹 Interface Utilisateur ### Design System - **Framework CSS** : Tailwind CSS - **Composants** : Headless UI pour les modals - **IcĂŽnes** : Heroicons - **Couleurs** : Palette moderne avec indigo comme couleur principale ### Responsive Design - Mobile-first approach - Adaptation automatique sur tous les Ă©crans - Navigation intuitive ## 🚀 DĂ©ploiement ### Vercel (RecommandĂ©) 1. Connectez votre repo GitHub Ă  Vercel 2. Configurez les variables d'environnement dans Vercel 3. DĂ©ployez automatiquement ### Variables d'environnement pour la production ```env NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key ``` ## 🔍 DĂ©pannage ### Erreurs courantes #### "supabaseUrl is required" - VĂ©rifiez que vos variables d'environnement sont correctement dĂ©finies - RedĂ©marrez le serveur de dĂ©veloppement #### Erreurs de build - VĂ©rifiez que tous les composants sont correctement importĂ©s - Assurez-vous que les types TypeScript sont corrects #### ProblĂšmes de base de donnĂ©es - VĂ©rifiez que le script SQL a Ă©tĂ© exĂ©cutĂ© correctement - ContrĂŽlez les politiques RLS dans Supabase ### Logs de dĂ©veloppement ```bash # Voir les logs en temps rĂ©el npm run dev # Build de production npm run build # Lancer en production npm run start ``` ## 📈 Prochaines Étapes ### FonctionnalitĂ©s prĂ©vues - [ ] Authentification des utilisateurs - [ ] Interface de vote pour les participants - [ ] RĂ©sultats et statistiques - [ ] Notifications par email - [ ] Gestion des permissions ### AmĂ©liorations techniques - [ ] Types TypeScript stricts pour Supabase - [ ] Tests unitaires et d'intĂ©gration - [ ] Optimisation des performances - [ ] PWA (Progressive Web App) ## đŸ€ Support Pour toute question ou problĂšme : 1. VĂ©rifiez ce guide de configuration 2. Consultez la documentation Supabase 3. VĂ©rifiez les logs de dĂ©veloppement 4. CrĂ©ez une issue sur GitHub si nĂ©cessaire --- **Application prĂȘte Ă  l'emploi pour la dĂ©mocratie participative ! đŸ—łïž**