SaborGestion covers the full lifecycle of a restaurant shift: from opening the dining room and taking the first order, through kitchen ticket management and delivery coordination, to generating invoices, registering payments, and closing the cash register. Each of the four user roles sees only the tools relevant to their job.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Henry4ndrew/saborGestion/llms.txt
Use this file to discover all available pages before exploring further.
Key features
Role-based access
Four roles —
admin, mesero, cocinero, cajero — each with their own dashboard and route-level permissions enforced by RoleMiddleware.Product catalog & inventory
Manage menu items and track ingredient stock levels. The sidebar shows a live notification badge when inventory counts change.
Tables & orders
Waiters assign tables, place orders, and dispatch kitchen tickets (comandas). Order status moves through
pendiente → preparando → listo → entregado.Delivery management
A dedicated delivery module lets cashiers and admins track off-premises orders alongside dine-in service.
Billing & payments
Generate pre-invoices, convert them to final invoices, register cash and card payments, and run end-of-day cash-register closings.
Admin user management
Administrators can create, view, edit, and delete user accounts with full CRUD through the
UsuarioController.System architecture
SaborGestion is a server-rendered monolith — no separate API client. All business logic lives in Laravel controllers, views are compiled Blade templates, and styles are utility classes from Tailwind CSS.| Layer | Technology |
|---|---|
| Framework | Laravel 12 (laravel/framework ^12.0) |
| Auth scaffolding | Laravel Breeze (laravel/breeze ^2.4) |
| Views | Blade templates |
| Styles | Tailwind CSS |
| Icons | Font Awesome |
| Database | MySQL (database name: saborGestion) |
| Build tool | Vite (via npm run build) |
| Testing | PHPUnit 11 |
Request flow
- A browser request hits a route defined in
routes/web.php. - Laravel’s
authmiddleware verifies the session; unauthenticated requests redirect to/login. - The
RoleMiddlewarechecksAuth::user()->roleagainst the roles declared on the route. Unauthorized access returns a 403. - The matching controller method queries the database and returns a Blade view.
Route groups at a glance
All application routes (except the home page and auth routes) sit inside anauth middleware group. Individual resource routes apply an additional role middleware with the allowed roles:
Next step
Installation
Set up SaborGestion on your local machine.