Aller au contenu principal
La galerie

Chez Massimo

Une phrase a produit cette structure — de façon déterministe.

  1. La demande

    # Spécification fonctionnelle – Gestion de chaîne de pizzerias ## Contexte et périmètre L'application gère une chaîne de 3 pizzerias traditionnelles. Elle centralise les opérations quotidiennes pour un ensemble d'utilisateurs hétérogènes : gérants, serveurs, cuisiniers et caissiers. Le système fonctionne en mode multi-établissements, chaque pizzeria conservant une autonomie opérationnelle tout en remontant les données vers un tableau de bord central. ## Utilisateurs et rôles L'application accueille quatre profils principaux : - **Gérant** : accès complet à tous les modules, gestion multi-établissements, tableaux de bord stratégiques - **Serveur** : prise de commande clients (sur place, à emporter, livraison), consultation des disponibilités stock - **Cuisinier** : consultation des commandes en attente, gestion des stocks de production, signalement de ruptures - **Caissier** : enregistrement des paiements, consultation historique commandes, clôture de caisse Chaque utilisateur accède à son compte via authentification. Les droits sont liés au rôle et à l'établissement assigné. ## Entités et domaines métier ### Établissements Chaque pizzeria dispose d'une fiche avec adresse, horaires d'ouverture, numéro de téléphone, capacité de places. Les données de stock, personnel et commandes sont rattachées à l'établissement. ### Stocks d'ingrédients L'application maintient un inventaire par établissement des ingrédients (farine, tomates, mozzarella, olives, herbes, etc.). Chaque ingrédient possède : - Un nom et une unité de mesure (kg, litre, pièce) - Une quantité actuelle en stock - Un seuil d'alerte (rupture imminente) - Un coût unitaire - Un dernier mouvement (date, type : entrée/sortie) Les mouvements de stock sont enregistrés automatiquement lors de chaque commande client validée ou ajustés manuellement lors de réception de commande fournisseur. ### Commandes fournisseurs Le gérant ou un responsable stock peut créer une commande auprès d'un fournisseur (date, fournisseur, liste d'ingrédients avec quantités). L'application suit l'état : en attente, reçue, facturée. Réception manuellement confirmée en application. ### Personnel et plannings Chaque employé (identifié par nom, prénom, poste, établissement) a un profil. L'application gère : - Les **plannings horaires** : création hebdomadaire ou mensuelle, assignation des jours/heures par employé et établissement - Les **congés** : demande, validation, blocage automatique des plannings - Les **salaires** : enregistrement des données mensuelles (brut, déductions, net), génération de bulletins de paie ### Commandes clients Une commande est créée pour chaque client. Elle enregistre : - **Type de service** : sur place, à emporter, livraison - **Articles commandés** : sélection parmi un menu de pizzas avec tailles et options (suppléments, exclusions) - **Quantités et prix unitaires** : calcul automatique du total HT et TTC - **Client** (nom, téléphone, adresse si livraison) - **État** : en attente de préparation, en cours de cuisson, prête, servie/remise, facturée - **Heure de commande et heure estimée de remise** - **Mode de paiement** : espèces, carte, chèque Les pizzas disponibles sont définies dans un menu maître modifiable par le gérant (nom, ingrédients, prix par taille). ## Workflows métier ### Cycle de commande client Un serveur ou le client direct accède à l'écran de prise de commande. Il sélectionne le type de service, choisit les pizzas sur le menu interactif, valide la commande. L'application déduit automatiquement les ingrédients du stock de l'établissement. La commande s'affiche immédiatement dans la cuisine sur un écran d'état (queue de cuisson). Le cuisinier marque chaque commande comme « en cours », puis « prête ». Le serveur récupère, le caissier enregistre le paiement et clôture la facture. ### Gestion du stock Les cuisiniers consultent le stock en temps réel et signalent toute rupture imminente. L'application génère automatiquement une alerte si un ingrédient franchit son seuil critique. Le gérant reçoit une notification et peut créer une commande fournisseur en un clic. À réception, le stock est reconstitué manuellement. ### Plannings et congés En début de mois, le gérant crée le planning mensuel pour chaque établissement. Il assigne les jours et horaires à chaque employé. Les employés voient leur planning personnel. Les demandes de congé remontent au gérant qui valide ou refuse. Le planning s'ajuste automatiquement (le créneau devient indisponible ou libéré selon la décision). ## Tableaux de bord et KPIs ### Dashboard principal (gérant multi-établissements) Affichage centralisé des trois pizzerias avec : - **Chiffre d'affaires du jour / semaine / mois** par établissement (graphique en barres ou courbe temporelle) - **Commandes en attente** : nombre total, détail par établissement - **Pizzas les plus vendues** : top 5 avec quantités sur la période sélectionnée (graphique en camembert ou histogramme) - **Alertes stock** : liste des ingrédients sous seuil critique par établissement - **Taux d'absentéisme** : nombre de congés validés, congés maladie (si applicable), impact sur couverture planning - **Comparatif établissements** : CA, nombre de commandes, taux de satisfaction (si collecte d'avis) ### Dashboard établissement (gérant local) Vue détaillée d'une pizzeria unique : - Chiffre d'affaires temps réel (mise à jour à chaque commande facturée) - État du stock : tous les ingrédients avec code couleur (vert = bon, orange = alerte, rouge = rupture) - Planning de la journée : employés présents/absents avec leurs horaires - Queue de commandes : nombre et durée moyenne d'attente - Revenus par type de service (sur place vs à emporter vs livraison) ### Rapports exportables L'application exporte des fichiers CSV ou PDF : bilan mensuel par établissement (CA, marge, commandes), inventaire détaillé stock, feuille de paie par employé, historique commandes client (factures). ## Écrans clés de l'application **Authentification** : connexion par email/mot de passe avec sélection de l'établissement actif. **Menu d'accueil** : affiche le dashboard adapté au rôle (gérant = vue multi, serveur/cuisinier = vue établissement). **Prise de commande** (serveur) : formulaire interactif avec menu pizzas, choix taille, options, panier, validation. **Écran cuisine** (cuisinier) : affichage en temps réel des commandes à préparer, boutons d'état (en cours, prête), alerte si rupture d'ingrédient. **Gestion stock** (gérant/cuisinier) : tableau de tous les ingrédients, quantité, seuil, dernier mouvement, bouton « créer commande fournisseur ». **Commandes fournisseurs** (gérant) : liste avec état, création rapide, saisie réception, historique. **Plannings** (gérant) : calendrier mensuel, drag-and-drop des employés sur les créneaux, visualisation des congés validés. **Congés**
  2. La structure générée

    À partir de la phrase ci-dessus, Modular a dérivé cette structure — entités, modules et indicateurs — de façon déterministe.

    Entités

    Établissement

    7 champs

    ChampTypeObligatoire
    Nom de la pizzeriastringObligatoire
    AdressestringObligatoire
    TéléphonestringObligatoire
    Capacité (places assises)numberObligatoire
    Heure d'ouverturestringObligatoire
    Heure de fermeturestringObligatoire
    ActifbooleanObligatoire

    Employé

    9 champs

    ChampTypeObligatoire
    Nom completstringObligatoire
    PrénomstringObligatoire
    EmailstringObligatoire
    RôleenumObligatoire
    ÉtablissementrelationObligatoire
    Salaire brut mensuel (€)numberObligatoire
    Date d'embauchedateObligatoire
    ActifbooleanObligatoire
    etablissementIdstringOptionnel

    Ingrédient

    9 champs

    ChampTypeObligatoire
    Nom de l'ingrédientstringObligatoire
    UnitéenumObligatoire
    Quantité en stocknumberObligatoire
    Seuil d'alertenumberObligatoire
    Coût unitaire (€)numberObligatoire
    ÉtablissementrelationObligatoire
    Date dernier mouvementdatetimeOptionnel
    État du stockenumObligatoire
    etablissementIdstringOptionnel

    Pizza

    7 champs

    ChampTypeObligatoire
    Nom de la pizzastringObligatoire
    DescriptionstringOptionnel
    Prix taille petite (€)numberObligatoire
    Prix taille moyenne (€)numberObligatoire
    Prix taille grande (€)numberObligatoire
    Disponible au menubooleanObligatoire
    Catégorie menuenumObligatoire

    Commande

    13 champs

    ChampTypeObligatoire
    RéférencestringObligatoire
    ÉtablissementrelationObligatoire
    Type de serviceenumObligatoire
    StatutenumObligatoire
    Nom du clientstringObligatoire
    Téléphone clientstringOptionnel
    Adresse de livraisonstringOptionnel
    Heure de commandedatetimeObligatoire
    Heure estimée de remisedatetimeOptionnel
    Montant HT (€)numberObligatoire
    Montant TTC (€)numberObligatoire
    Mode de paiementenumOptionnel
    etablissementIdstringOptionnel

    Ligne de commande

    9 champs

    ChampTypeObligatoire
    CommanderelationObligatoire
    PizzarelationObligatoire
    TailleenumObligatoire
    QuantiténumberObligatoire
    Prix unitaire (€)numberObligatoire
    Sous-total (€)numberOptionnel
    Options / remarquesstringOptionnel
    commandeIdstringOptionnel
    pizzaIdstringOptionnel

    Congé

    8 champs

    ChampTypeObligatoire
    EmployérelationObligatoire
    Date de débutdateObligatoire
    Date de findateObligatoire
    MotifenumObligatoire
    StatutenumObligatoire
    CommentairestringOptionnel
    Nombre de joursnumberOptionnel
    employeIdstringOptionnel

    Modules

    ModuleEntité
    Tableau de bordEtablissement
    Écran cuisineCommande
    Commandes clientsCommande
    Stocks ingrédientsIngredient
    PlanningsEmploye
    Congés & absencesConge
    ÉquipeEmploye
    Menu & PizzasPizza
    ÉtablissementsEtablissement
    Prise de commandeEtablissement

    Indicateurs

    CA du jour (3 pizzerias)

    sum · EUR

    CA du mois

    sum · EUR

    Commandes en cours de préparation

    count · number

    Ruptures de stock

    count · number

    Demandes de congé à valider

    count · number

    Taux d'absentéisme du mois

    ratio · percent

    Ticket moyen du jour

    avg · EUR

    Livraisons du jour

    count · number

    Taux d'annulation commandes (mois)

    ratio · percent

  3. L'application

    Capture de l'app — Chez Massimo