Le tableau de bord du personnel
Ce que fait le back-office : la vue d'ensemble, les commandes et la file d'attente de la cuisine, le menu, les catégories, les clients, l'éditeur de la page d'accueil, le studio et l'assistant IA, l'équipe et les rôles, et les paramètres du restaurant.
Pour le pack Full Stack
Pages
Chaque page existe en anglais sous /en et en arabe sous /ar. Le tableau de bord s'ouvre sur /en/dashboard, après la connexion sur /en/auth/login.
| Élément de la barre latérale | Chemin | Rôle |
|---|---|---|
| Vue d'ensemble | /en/dashboard | Le chiffre d'affaires, les commandes, le panier moyen et les préparations en cours du jour ou de la veille, le chiffre d'affaires par heure, la file d'attente de la cuisine, la répartition par catégorie, les commandes récentes, les plats qui ne peuvent pas être commandés et le plat le plus populaire. |
| Commandes | /en/dashboard/orders | Toutes les commandes, à côté de celle sélectionnée. |
| Menu | /en/dashboard/products/all | Tous les plats, les plats mis en avant, les meilleures ventes et les plats archivés, et le formulaire de plat avec son studio IA. |
| Catégories | /en/dashboard/categories/all | Les sections du menu, et celles archivées. |
| Clients | /en/dashboard/users/all | Les comptes clients, et ceux supprimés. |
| Page d'accueil | /en/dashboard/homepage | Les neuf sections de la page d'accueil du site. |
| Studio IA | /en/dashboard/studio | Restyler la photo d'un plat et la comparer à l'originale. |
| Assistant IA | /en/dashboard/ai-assistant | Une discussion sur les commandes, les ventes et le menu. |
| Équipe | /en/dashboard/admins-management | Les comptes du personnel, leurs rôles et leur cuisine, et les rôles eux-mêmes. |
| Paramètres | /en/dashboard/settings | Le profil et le mot de passe du compte connecté, et les paramètres du restaurant. |
La cloche de la barre du haut regroupe les notifications, une palette de recherche trouve les plats, les commandes et les clients, et le lien « View storefront » ouvre NEXT_PUBLIC_STOREFRONT_URL. Le tableau de bord n'est jamais indexé par les moteurs de recherche.
Sur les données de démonstration, les chiffres du jour de la vue d'ensemble partent d'une journée type enregistrée, à laquelle s'ajoutent les commandes payées passées depuis le chargement des données, et la veille est la journée enregistrée précédente. Un compte cuisine ne voit jamais la vue d'ensemble, car elle présente des montants.
Propriétaire, gérant et cuisine
| Rôle | Ce qu'il peut faire | Compte de démonstration |
|---|---|---|
| Propriétaire | Tout, y compris l'équipe et les rôles | owner@foodstudio.example |
| Manager | Tout sauf l'équipe et les rôles : commandes, menu, catégories, clients, page d'accueil, studio et assistant IA, paramètres | manager@foodstudio.example |
| Cuisine | Les commandes d'une cuisine, sans les prix ni l'e-mail du client, passées de confirmée à en préparation puis à prête ; ainsi que son propre profil et son mot de passe | kitchen@foodstudio.example |
- Chaque compte de démonstration utilise le mot de passe
FoodDemo2026!. Le formulaire de connexion est vide au départ : saisissez l'e-mail et le mot de passe du compte voulu. Seule une démo publique, avec le mode démo activé, préremplit le formulaire et affiche un bouton pour chaque compte. Changez ces mots de passe, ou supprimez les comptes, avant la mise en ligne. - Les permissions sont nommées comme
orders.viewouproducts.edit, et l'API en vérifie une sur chaque route du personnel, quoi qu'affiche l'écran. - La barre latérale et la palette de recherche masquent ce qu'un compte ne peut pas ouvrir, et une page ouverte par son adresse affiche à la place un avis d'accès.
- Un compte cuisine est rattaché à une cuisine dans Team. Il ne voit que les commandes confirmées, en préparation, prêtes, en cours de livraison et livrées de cette cuisine, et jamais la vue d'ensemble, car elle présente des montants.
Les commandes et la file d'attente de la cuisine
La liste permet de chercher par numéro de commande et par client, et de filtrer par statut, par livraison ou retrait, et par date, le jour étant compté dans le fuseau horaire de chaque cuisine. La commande sélectionnée affiche son client, l'adresse de livraison, les articles avec leurs options et leurs notes, les totaux et la chronologie.
| Statut | Signification |
|---|---|
| En attente | Passée et en attente de son paiement. |
| Confirmée | Payée. Elle est dans la file d'attente de la cuisine. |
| En préparation | En cours de cuisson. |
| Prête | Prête à partir, ou à être retirée. |
| En cours de livraison | En route. Commandes en livraison uniquement. |
| Livrée | Reçue ou retirée. Les points de fidélité sont gagnés à ce moment. |
| Annulée | Arrêtée, avec un motif, avant d'avoir quitté la cuisine. |
| Remboursée | Définie par le remboursement du prestataire de paiement, jamais à la main. |
- La page de la commande fait avancer une commande d'une étape à la fois, avec des boutons comme Mark ready, Send out for delivery et Mark delivered, ou l'annule avec un motif. L'API impose l'ordre des étapes, et une commande en attente ne peut pas être confirmée tant qu'elle n'est pas payée.
- Chaque commande s'imprime comme un ticket de cuisine et se télécharge en fichier CSV.
- Les nouvelles commandes et les changements de statut arrivent en direct, dans la liste et dans la cloche, sans rechargement.
Le menu
| Partie du formulaire de plat | Champs |
|---|---|
| Détails | Nom et description en anglais et en arabe, catégorie, prix, temps de préparation |
| Options | Jusqu'à 10 groupes d'options, comme une taille ou des suppléments, chacun avec jusqu'à 40 choix et une variation de prix par choix, ainsi que le minimum et le maximum qu'un client peut choisir |
| Détails alimentaires | Allergènes, étiquettes de régime alimentaire, et stock si vous le suivez |
| Médias | Photos et clips, dont un principal, avec le studio IA à côté |
| Interrupteurs | Publié, disponible maintenant, mis en avant et meilleure vente |
- Disponible maintenant est l'interrupteur qu'une cuisine actionne pendant le service : le plat reste dans le menu mais ne peut pas être commandé.
- L'archivage déplace un plat dans Archived dishes, d'où il peut être restauré. Les catégories s'archivent et se restaurent de la même façon.
- Le menu combiné, ses choix et leurs suppléments sont une offre que l'API stocke ; l'assistant peut l'activer et la désactiver.
Clients
La liste des clients permet de chercher et de filtrer les clients, avec les totaux au-dessus. Le personnel peut ajouter un client, ouvrir ses informations, changer son mot de passe, marquer son e-mail comme vérifié, le supprimer et le restaurer. Les clients modifient leurs propres informations depuis leur compte sur le site.
La page d'accueil du site
Homepage liste les neuf sections dans l'ordre de la page. Faites-les glisser, ou utilisez les flèches, pour les réordonner ; activez ou désactivez chacune ; et ouvrez-en une pour modifier son texte dans les deux langues. Les modifications s'enregistrent pendant la saisie.
| Section dans la barre latérale | Sur le site |
|---|---|
| Hero | La bannière d'ouverture |
| Catégories | La rangée des catégories |
| Plats populaires | Jusqu'à huit plats populaires |
| Offre combinée | Le menu combiné mis en avant |
| Composeur de repas | Le bandeau pour composer son repas |
| Ingrédients | Les trois cartes d'ingrédients |
| Livraison | Le bandeau de livraison |
| Fidélité | Le bandeau de fidélité |
| FAQ | Les questions et réponses |
Modifier une section nécessite la permission products.edit.
Le studio IA et l'assistant IA
- Le studio IA choisit un plat, restyle sa photo avec un arrière-plan, un éclairage et une consigne indiquant ce qu'il faut garder, et compare l'original avec le résultat. Save as draft garde le résultat sur le brouillon du plat jusqu'à ce que vous enregistriez le plat. Un bouton « Remove background » détoure le plat quand le fichier de modèle est installé.
- Le studio dans le formulaire de plat a un mode Assistant, qui rédige les détails du plat à partir de ses photos et modifie les photos sur demande, et un mode Animate, qui transforme une photo en court clip. Les résultats arrivent dans une liste Generations ; ajoutez au plat ceux qui vous plaisent.
- L'assistant IA consulte les commandes, les plats et les ventes et dessine des graphiques. Tout ce qui modifierait des données est d'abord présenté sous forme de différence et ne s'exécute qu'après votre confirmation.
- Sans clé Google AI sur l'API, le studio indique « Image generation is not connected » et l'assistant « No AI model is connected ». Tout le reste du tableau de bord fonctionne.
Équipe et rôles
- Members liste le personnel et permet d'ajouter, modifier et supprimer des membres. Chaque membre a un ou plusieurs rôles, et un membre de cuisine est rattaché à une cuisine.
- Roles crée, renomme et supprime des rôles, et attribue leurs permissions depuis une grille groupée par zone. Un membre détient toutes les permissions de tous ses rôles, et un changement s'applique immédiatement à un membre connecté.
- Seul le propriétaire voit Team : les rôles gérant et cuisine n'ont aucune permission sur l'équipe ou les rôles.
Les données de démonstration créent huit comptes du personnel : le propriétaire, trois gérants et un compte cuisine pour chacune des quatre cuisines.
Paramètres
Settings a trois onglets. Profile et Security appartiennent au compte connecté et sont ouverts à tous les membres. Restaurant demande la permission settings.view pour la lecture et settings.edit pour la modification.
| Panneau Restaurant | Ce qu'elle définit |
|---|---|
| Cuisines | Pour chaque cuisine : nom, adresse, code postal, contact, horaires, fuseau horaire, temps de préparation, codes postaux de livraison (jusqu'à 50), plat mis en avant, position sur la carte, et si elle prend des commandes |
| Frais de service | Les frais de livraison, les frais de retrait et le minimum de livraison, en dollars |
| Horloge de service | Real, qui lit l'heure propre à chaque cuisine, ou Demo clock, qui maintient toutes les cuisines à 20 h 55 pour que des commandes puissent être passées à toute heure. Les données de démonstration démarrent sur l'horloge de démo. |
| Fidélité | Points par dollar, points par utilisation et valeur d'une utilisation |
| Codes promo | Le pourcentage de chaque code, s'il couvre uniquement le menu ou toute la commande, s'il se cumule avec la fidélité, et s'il est actif |
| Paiements | Les moyens de paiement proposés par ce build et si chacun est en mode test ou en production. En lecture seule : les clés sont définies sur le serveur. |
| Langue et thème | L'apparence du tableau de bord pour vous, conservée dans ce navigateur |
| Tous les paramètres par clé | Chaque paramètre enregistré, y compris le nom du restaurant, son slogan, son e-mail et son téléphone d'assistance |
Notifications
- Une nouvelle commande avertit le personnel qui peut la voir, et une génération du studio IA terminée ou échouée avertit le membre qui l'a lancée. Un compte cuisine n'est averti que des commandes de sa propre cuisine, une fois qu'elles arrivent dans sa file d'attente.
- Elles arrivent en direct, avec un court message à l'écran, et restent dans la liste de la cloche jusqu'à être lues ou supprimées, pendant 30 jours.
- La connexion en direct utilise
NEXT_PUBLIC_WEBSOCKET_BASE_URL, l'adresse de l'API sans/api, et l'API ne l'accepte que depuisFRONTEND_URL. Sur vos propres domaines, définissez les deux.
Mode démo
Inclus avec votre achat. Connectez-vous pour le lire, ou ouvrez-le dans votre téléchargement.
Faire tourner une démo publique : les comptes par visiteur, ce que les visiteurs peuvent modifier, et l'utilisation de leur propre clé.
Comment le code du tableau de bord s'articule
Inclus avec votre achat. Connectez-vous pour le lire, ou ouvrez-le dans votre téléchargement.
La structure du code, et les recettes pour ajouter une page, une traduction et un service API.