You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.9 KiB
4.9 KiB
Configuration Supabase - BricoLoc Moderne
📊 Informations du Projet
- Projet: bricoloc-moderne
- Project ID: junliislndtujomtdxlb
- Région: eu-central-1 (Europe Centrale)
- URL: https://junliislndtujomtdxlb.supabase.co
- Status: ACTIVE_HEALTHY
- Coût: $0/mois (Free Tier)
🗄️ Schéma de Base de Données
Tables Créées
-
users - Gestion des utilisateurs
- id, email, nom, prenom, telephone, is_admin
- Timestamps: created_at, updated_at
-
categories - Catégories d'outils
- 5 catégories par défaut insérées
- id, nom, description
-
tools - Catalogue des outils
- id, nom, description, category_id, prix_journalier, image_url, is_available
- Index full-text sur nom et description (français)
-
inventory - Gestion des stocks par entrepôt
- id, tool_id, entrepot, quantite_disponible, quantite_totale
- Contrainte: quantite_disponible <= quantite_totale
-
reservations - Système de réservation
- id, user_id, tool_id, date_debut, date_fin, quantite, prix_total, status, entrepot
- Status: pending, confirmed, in_progress, completed, cancelled
- Contrainte: date_fin >= date_debut
-
payments - Gestion des paiements
- id, reservation_id, montant, status, method, transaction_id
- Status: pending, completed, failed, refunded
- Methods: card, cash, bank_transfer
-
notifications - Système de notifications
- id, user_id, type, titre, message, is_read
- Types: reservation_confirmed, reservation_reminder, reservation_completed, payment_received, system_alert
Triggers Automatiques
Toutes les tables (sauf notifications) ont un trigger update_updated_at qui met automatiquement à jour le champ updated_at lors de modifications.
🔒 Politiques RLS (Row Level Security)
RLS est ACTIVÉ sur toutes les tables. Voici les politiques par table :
Users
- ✅ Les utilisateurs peuvent voir leur propre profil
- ✅ Les utilisateurs peuvent modifier leur propre profil
- ✅ Les admins peuvent voir tous les utilisateurs
Categories
- ✅ Tout le monde (authenticated + anon) peut lire les catégories
- ✅ Seuls les admins peuvent créer/modifier/supprimer des catégories
Tools
- ✅ Tout le monde peut voir les outils disponibles (is_available = true)
- ✅ Les utilisateurs authentifiés peuvent voir tous les outils
- ✅ Seuls les admins peuvent créer/modifier/supprimer des outils
Inventory
- ✅ Les utilisateurs authentifiés peuvent consulter l'inventaire
- ✅ Seuls les admins peuvent gérer l'inventaire
Reservations
- ✅ Les utilisateurs peuvent voir leurs propres réservations
- ✅ Les utilisateurs peuvent créer des réservations
- ✅ Les utilisateurs peuvent modifier/annuler leurs propres réservations
- ✅ Les admins peuvent voir et modifier toutes les réservations
Payments
- ✅ Les utilisateurs peuvent voir les paiements de leurs réservations
- ✅ Les admins peuvent voir tous les paiements
- ✅ Seuls les admins peuvent créer/modifier des paiements
Notifications
- ✅ Les utilisateurs peuvent voir leurs propres notifications
- ✅ Les utilisateurs peuvent modifier (marquer comme lu) leurs notifications
- ✅ Les utilisateurs peuvent supprimer leurs notifications
- ✅ Le système (service_role) peut créer des notifications pour tous
🔑 Variables d'Environnement
Les variables suivantes sont configurées dans .env.local :
NEXT_PUBLIC_SUPABASE_URL=https://junliislndtujomtdxlb.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGci...
📝 Migrations Appliquées
- ✅
create_users_table- Table users + trigger - ✅
create_categories_table- Table categories + données par défaut - ✅
create_tools_table- Table tools + index full-text - ✅
create_inventory_table- Table inventory + contraintes - ✅
create_reservations_table- Table reservations + enum status - ✅
create_payments_table- Table payments + enum status/method - ✅
create_notifications_table- Table notifications + enum type - ✅
enable_rls_and_create_policies- Activation RLS + politiques users/categories - ✅
rls_policies_tools_and_inventory- Politiques tools + inventory - ✅
rls_policies_reservations_and_payments- Politiques reservations + payments - ✅
rls_policies_notifications- Politiques notifications
🧪 Test de Connexion
Pour tester la connexion Supabase, accédez à :
📚 Prochaines Étapes
- Implémenter les repositories Supabase pour chaque service
- Créer les use cases pour l'authentification
- Développer les API routes Next.js
- Implémenter l'interface utilisateur
🔗 Liens Utiles
- Dashboard Supabase: https://supabase.com/dashboard/project/junliislndtujomtdxlb
- Documentation Supabase: https://supabase.com/docs
- Supabase JS Client: https://supabase.com/docs/reference/javascript