À propos du projet
Chefsy est un système interne de gestion de commandes conçu pour les établissements gastronomiques. Cette première étape offre une base fonctionnelle complète pour le suivi des commandes, de leur création à leur livraison.
## Stack technologique
- **Next.js 14** avec App Router
- **TypeScript** (code 100% typé)
- **Tailwind CSS** pour les styles utilitaires
- **React Context + useReducer** pour l'état en mémoire, sans bibliothèques externes
## Fonctionnalités principales
- **Tableau de bord** : Métriques du jour et commandes récentes
- **Gestion des commandes** : Liste complète avec filtres par statut, création de nouvelles commandes via formulaire
- **Vue livreur** : Interface mobile pour les coursiers
- **Flux de statuts** : Nouveau → En Cuisine → Prêt → En Livraison → Livré, avec possibilité d'annulation depuis tout statut actif
## Structure du projet
Le projet est organisé en routes principales :
- `/dashboard` - Métriques et commandes récentes
- `/pedidos` - Liste complète avec filtres
- `/nuevo-pedido` - Formulaire de création
- `/cadeteria` - Vue mobile du livreur
Les composants sont divisés en layout (Sidebar, Header), commandes (CarteCommande, BadgeStatut, FormulaireCommande) et tableau de bord (CarteMetrique). L'état global est géré via un contexte avec useReducer, et les données de test se trouvent dans un fichier mock.
## Comment exécuter
1. Installer les dépendances : `npm install`
2. Mode développement : `npm run dev` (disponible sur http://localhost:3000)
3. Build de production : `npm run build` et `npm run start`
## Plan d'évolution
Le projet inclut une feuille de route claire pour les étapes futures :
- **Étape 2** : Persistance avec API REST ou Supabase
- **Étape 3** : Authentification avec next-auth et rôles (opérateur, cuisine, livreur)
- **Étape 4** : Temps réel avec WebSockets ou Supabase Realtime
- **Étape 5** : Module de menu et produits avec autocomplétion
## Décisions architecturales
- Utilisation du Route Group `(principal)` pour séparer le layout avec sidebar du layout simple de la vue livreur
- `useReducer` au lieu de multiples `useState` pour centraliser la logique
- Données mock synchrones sans useEffect, facilitant la migration vers asynchrone
- Composants sans animations pour privilégier la fonctionnalité et la rapidité
- Code en espagnol pour la cohérence avec l'équipe cible
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.