Lancer le restaurant en local
Installez et démarrez chaque application avec Node.js et Yarn, un terminal par application.
Pour le pack Full Stack
Avant de commencer : installez Node.js 24 ou plus récent et exécutez une fois corepack enable. Aucun serveur de base de données n'est nécessaire.
Ouvrez chaque terminal là où les commandes ci-dessous l'attendent : dans food-studio-full-stack pour le pack complet, ou à côté du dossier de l'application pour un pack à application unique.
| Application | Dossier | Adresse |
|---|---|---|
| API | back-end | localhost:8000Local |
| Site de commande | storefront | localhost:3030Local |
| Tableau de bord du personnel | admin-dashboard | localhost:3031Local |
Démarrez l'API en premier : les deux frontends lisent toutes leurs données à partir de l'API.
Démarrez l'API
Installez et configurez
.env.examplefonctionne tel quel pour le développement local : SQLite sur le port8000.Un problème ?Terminalcorepack enable cd back-end yarn install cp .env.example .envCréez la base de données
yarn seedcréedatabase.sqlite, ses tables et le restaurant de démonstration : huit catégories, 64 plats avec leurs photos, le menu combiné, quatre cuisines, le personnel, et six semaines de commandes, d'avis et de points de fidélité. Le relancer n'ajoute que ce qui manque.Terminaldansback-endyarn seedDémarrez le serveur
Terminaldansback-endyarn devRésultat attendu: localhost:8000/api/healthLocal répond
Un problème ?{"success":true,"data":{"status":"ok","database":"up"},"message":""}.
Démarrez l'API
Installez et configurez
.env.examplefonctionne tel quel pour le développement local : SQLite sur le port8000.Un problème ?Terminalcorepack enable cd food-studio-backend yarn install cp .env.example .envCréez la base de données
yarn seedcréedatabase.sqlite, ses tables et le restaurant de démonstration : huit catégories, 64 plats avec leurs photos, le menu combiné, quatre cuisines, le personnel, et six semaines de commandes, d'avis et de points de fidélité. Le relancer n'ajoute que ce qui manque.Terminaldansfood-studio-backendyarn seedDémarrez le serveur
Terminaldansfood-studio-backendyarn devRésultat attendu: localhost:8000/api/healthLocal répond
Un problème ?{"success":true,"data":{"status":"ok","database":"up"},"message":""}.
Démarrez le site de commande
Dans un deuxième terminal :
Installez et configurez
Le
.envcopié fait pointer le site vers l'API sur le port8000.Terminalcd storefront yarn install cp .env.example .envDémarrez l'application
Terminaldansstorefrontyarn devRésultat attendu: localhost:3030Local ouvre le site en anglais avec le menu de démonstration ; l'arabe se trouve sous
Un problème ?/ar.
Démarrez le site de commande
L'API ne fait pas partie de ce pack. Démarrez-la en premier ; le .env copié l'attend sur http://localhost:8000/api.
Installez et configurez
Si votre API tourne ailleurs, définissez
NEXT_PUBLIC_API_BASE_URLdans.envavec son adresse,/apicompris.Un problème ?Terminalcorepack enable cd food-studio-website yarn install cp .env.example .envDémarrez l'application
Terminaldansfood-studio-websiteyarn devRésultat attendu: localhost:3030Local ouvre le site avec le menu de votre API ; l'arabe se trouve sous
Un problème ?/ar.
Démarrez le tableau de bord du personnel
Dans un troisième terminal :
Installez et configurez
Le
.envcopié fait pointer le tableau de bord vers l'API et ses notifications en direct sur le port8000.Terminalcd admin-dashboard yarn install cp .env.example .envDémarrez-le et connectez-vous
Terminaldansadmin-dashboardyarn devRésultat attendu: localhost:3031Local ouvre le formulaire de connexion. Connectez-vous avec
Un problème ?owner@foodstudio.exampleet le mot de passeFoodDemo2026!.
Démarrez le tableau de bord du personnel
L'API ne fait pas partie de ce pack. Démarrez-la en premier ; le .env copié l'attend sur http://localhost:8000/api.
Installez et configurez
Si votre API tourne ailleurs, définissez dans
.envNEXT_PUBLIC_API_BASE_URL(avec/api) etNEXT_PUBLIC_WEBSOCKET_BASE_URL(sans) avec son adresse.Un problème ?Terminalcorepack enable cd food-studio-staff-dashboard yarn install cp .env.example .envDémarrez-le et connectez-vous
Terminaldansfood-studio-staff-dashboardyarn devRésultat attendu: localhost:3031Local ouvre le formulaire de connexion. Connectez-vous avec le compte propriétaire
Un problème ?owner@foodstudio.exampleet le mot de passeFoodDemo2026!, qu'une API avec les données de démonstration accepte.
Build de production
Les mêmes dossiers, construits une fois puis démarrés. Configurez d'abord le .env de l'API pour la production : avec NODE_ENV=production, l'API ne crée aucune table au démarrage, et elle refuse de démarrer tant que JWT_SECRET est vide ou garde la valeur d'exemple, ou tant que CORS_ORIGIN est vide.
NODE_ENV=production
JWT_SECRET=paste-the-generated-secret-here
CORS_ORIGIN=http://localhost:3030,http://localhost:3031
FRONTEND_URL=http://localhost:3031
STOREFRONT_URL=http://localhost:3030Générez le secret avec node -e "console.log(require('crypto').randomBytes(48).toString('hex'))". Ensuite, dans le dossier de l'API, construisez-la, créez ses tables une fois et démarrez-la. yarn seed:prod ajoute le restaurant de démonstration et ses comptes ; yarn db:sync:prod à sa place crée des tables vides, sans aucun compte.
yarn build
yarn seed:prod
yarn start:prodBuild de production des frontends
Dans le dossier de chaque frontend, lancez le build une fois puis démarrez. Le site répond sur 3030 et le tableau de bord sur 3031.
yarn build
yarn startLes frontends intègrent leur .env au moment du build : relancez donc yarn build après l'avoir modifié. Avant de déployer quelque part en public, lisez la checklist de mise en ligne.
Repartir de données de démonstration neuves
Arrêtez l'API, puis, dans le dossier de l'API, supprimez le fichier de la base de données et recréez-la avec les données de démonstration. Cela supprime tout ce que vous avez créé.
rm -f database.sqlite* && yarn seedDans PowerShell :
Remove-Item database.sqlite*; yarn seed