Hyperzen Module Professeurs est un système complet de gestion des factures et du personnel enseignant pour les établissements éducatifs. Ce projet utilise Supabase comme backend et React/Vite comme frontend, avec un système de rôles sophistiqué et des fonctionnalités avancées de gestion des factures.
- Framework : React 18 avec TypeScript
- Build Tool : Vite
- Styling : Tailwind CSS avec thème néo-brutaliste
- State Management : React Query pour la gestion des données
- Routing : React Router avec protection des routes par rôle
- Database : PostgreSQL avec RLS (Row Level Security)
- Auth : Supabase Auth avec JWT
- API : REST API auto-générée + fonctions RPC personnalisées
- Storage : Supabase Storage pour les fichiers
- 4 rôles : SUPER_ADMIN, COMPTABLE, DIRECTEUR_CAMPUS, ENSEIGNANT
- 8 campus : Boulogne, Douai, Jaurès, Parmentier, Picpus, Roquette, Saint-Sébastien, Sentier
- Profiles complets avec assignation automatique aux campus
- Workflow complet : Création → Prévalidation → Validation → Paiement
- Lignes de détail avec cours, horaires, filières et montants
- Statuts multiples : pending, prevalidated, validated, rejected, paid
- Calculs automatiques des totaux et heures
- Dashboard personnalisé selon le rôle
- KPIs métier : montants, factures en attente, statistiques
- Graphiques et visualisations des données
- RLS (Row Level Security) sur toutes les tables sensibles
- Politiques granulaires basées sur les rôles et campus
- Validation des permissions à tous les niveaux
profiles- Utilisateurs du système (180 professeurs fictifs)campus- 8 campus avec directeurs assignésinvoices- Factures des enseignants (300-540 factures)invoice_lines- Lignes de détail des factures (900-2700 lignes)audit_logs- Logs d'audit des actions
app_role: SUPER_ADMIN, COMPTABLE, DIRECTEUR_CAMPUS, ENSEIGNANTcampus_name: Les 8 campus disponiblesinvoice_status: pending, prevalidated, validated, rejected, paid
- Node.js 18+
- npm ou yarn
- Compte Supabase
- PostgreSQL client (optionnel)
# Cloner le repository
git clone https://github.com/eddinos2/Hyperzen-moduleProfs.git
cd Hyperzen-moduleProfs
# Installer les dépendances
npm install
# Configurer l'environnement
cp env.example .env
# Éditer .env avec vos clés Supabase# Variables d'environnement requises
VITE_SUPABASE_URL=https://votre-projet.supabase.co
VITE_SUPABASE_ANON_KEY=votre-cle-anon
SUPABASE_SERVICE_ROLE_KEY=votre-cle-service-role# Lier le projet local à Supabase
supabase link --project-ref votre-project-ref
# Appliquer les migrations
supabase db push
# Créer les données de test (180 professeurs + factures)
.\scripts\run-massive-data-creation.ps1Hyperzen-moduleProfs/
├── src/
│ ├── components/ # Composants React réutilisables
│ ├── hooks/ # Hooks personnalisés pour Supabase
│ ├── pages/ # Pages de l'application
│ ├── lib/ # Utilitaires et configuration
│ └── App.tsx # Composant principal
├── scripts/ # Scripts SQL et utilitaires
│ ├── create-180-professors.sql # Génération 180 professeurs
│ ├── create-realistic-invoices.sql # Génération factures
│ ├── test-massive-data.sql # Tests et vérifications
│ └── run-massive-data-creation.ps1 # Script d'exécution
├── supabase/
│ ├── migrations/ # Migrations de base de données
│ └── config.toml # Configuration Supabase
└── public/ # Fichiers statiques
Le projet inclut un système complet de génération de données de test :
- Noms français réalistes
- Répartition équilibrée sur les 8 campus
- Emails format :
prof.prenom.nom@aurlom.com - Mot de passe :
Test123!
- 300-540 factures générées
- 6 périodes (août 2024 - janvier 2025)
- Filières BTS réalistes (SIO, MCO, NDRC, CG, etc.)
- Horaires et montants cohérents
# Tout générer (recommandé)
.\scripts\run-massive-data-creation.ps1
# Ou étape par étape
.\scripts\run-massive-data-creation.ps1 -Action teachers # 180 professeurs
.\scripts\run-massive-data-creation.ps1 -Action invoices # Factures
.\scripts\run-massive-data-creation.ps1 -Action test # Tests# Développement
npm run dev # Serveur de développement
npm run build # Build de production
npm run preview # Prévisualisation du build
# Tests et qualité
npm run lint # Linting ESLint
npm run type-check # Vérification TypeScript
# Base de données
supabase start # Démarrer Supabase local
supabase db reset # Reset de la base
supabase db push # Appliquer les migrations- Modifications locales → Tests avec
npm run dev - Migrations →
supabase db push - Tests complets →
.\scripts\run-massive-data-creation.ps1 -Action test - Déploiement → Push vers GitHub
- Email :
houssam@aurlom.com - Mot de passe :
1313ImIm. - Accès : Toutes les fonctionnalités
- Email :
comptable@aurlom.com - Mot de passe :
Test123! - Accès : Validation et paiement des factures
- Email :
directeur.roquette@aurlom.com - Mot de passe :
Test123! - Accès : Prévalidation des factures de leur campus
- Email :
prof.martin@aurlom.com - Mot de passe :
Test123! - Accès : Création et gestion de leurs factures
- Architecture complète (Frontend + Backend)
- Système d'authentification et rôles
- Gestion des factures avec workflow complet
- Tableaux de bord personnalisés
- Génération de données massives (180 professeurs)
- Tests et vérifications automatiques
- Documentation complète
- Tests frontend avec données massives
- Optimisations de performance
- Détection et correction d'anomalies
- Amélioration de l'UX
- Déploiement en production
- Tests de charge avec données massives
- Optimisation des requêtes SQL
- Amélioration des graphiques et KPIs
- React 18 - Framework UI
- TypeScript - Typage statique
- Vite - Build tool moderne
- Tailwind CSS - Framework CSS
- React Query - Gestion des données
- React Router - Navigation
- Lucide React - Icônes
- Supabase - Backend-as-a-Service
- PostgreSQL - Base de données
- Row Level Security - Sécurité au niveau des lignes
- JWT - Authentification
- REST API - API automatique
- RPC Functions - Fonctions personnalisées
- ESLint - Linting
- Prettier - Formatage
- Git - Versioning
- GitHub - Repository
- Schéma DB :
SCHEMA_DOCUMENTATION.md - Scripts :
scripts/README-MASSIVE-DATA.md - Setup :
SETUP.md - Troubleshooting :
TROUBLESHOOTING.md
- Développeur : Houssam (eddinos2)
- Email : houssam@aurlom.com
- GitHub : https://github.com/eddinos2
Ce projet est développé pour Aurlom et est destiné à un usage interne.
🎉 Le système est prêt pour la production avec 180 professeurs fictifs et des données massives !