RoadTime est une application web permettant aux conducteurs routiers de gérer leurs temps de travail, pauses et paniers repas.
# Installation des dépendances
npm install# Démarrer le serveur de développement
npm run dev
# Exécuter les tests
npm run test
# Vérifier la couverture des tests
npm run test:coverageLes tests unitaires couvrent :
- Calcul des heures travaillées
- Validation des horaires et pauses
- Gestion des paniers repas
- Export CSV
- Gestion des erreurs Supabase
- Mode hors ligne
La couverture minimale requise est de 90% pour :
- Calcul des heures travaillées
- Gestion des erreurs
- Export de données
Cette erreur survient quand aucune donnée n'est trouvée. L'application :
- Affiche un message approprié à l'utilisateur
- Permet de créer une nouvelle entrée
En cas de perte de connexion :
- L'application passe en mode hors ligne
- Les modifications sont stockées localement
- La synchronisation est automatique au retour de la connexion
Les requêtes sont limitées à 5 secondes avec :
- Retry automatique (max 3 tentatives)
- Backoff exponentiel entre les tentatives
- Pagination de l'historique (100 entrées par page)
- Mise en cache des calculs d'heures
- Debounce sur les filtres de recherche
- Temps de chargement initial < 2s
- Temps de réponse des requêtes < 500ms
- Taille du bundle < 200KB
- Validation des données côté client et serveur
- Protection contre les injections SQL
- Politiques RLS Supabase configurées
L'application peut être déployée sur Netlify :
# Build de production
npm run build
# Preview locale
npm run preview- v1.0.0 : Version stable initiale
- Gestion complète des temps
- Export CSV
- Mode hors ligne
- Tests > 90%