Restorante is a full-stack restaurant management application built with Spring Boot 4 and Java 21. It provides a structured REST API and a Thymeleaf-powered web interface that together handle the day-to-day operational data of a restaurant — from what is on the menu and how each dish is prepared, to which ingredients are stocked in the pantry and which staff members are on the team. This documentation covers how to run the application locally, how to configure it for your environment, and how to interact with its REST endpoints.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/NicolasMPP/restorante-springboot/llms.txt
Use this file to discover all available pages before exploring further.
Key Features
Menu Management
Create and retrieve menus composed of food items (alimentos). Each menu is associated with a manager (Gerente) and can contain main dishes, desserts, beverages, and additional items.
Pantry Inventory
Track ingredient stock through the Despensa (pantry) entity. Each pantry is linked to a manager and holds a collection of ingredients with their available quantities.
Recipes & Chefs
Recipes (Recetas) are authored by chefs and carry a list of required ingredients and step-by-step preparation instructions. Each food item on the menu can reference a recipe.
Food Type Classification
Every food item inherits from a shared Alimento base using SINGLE_TABLE JPA inheritance, with four concrete subtypes: PlatoFuerte, Postres, Bebida, and Adicionales.
Architecture Overview
Restorante is built on the following technology stack:| Layer | Technology |
|---|---|
| Framework | Spring Boot 4 |
| Language | Java 21 |
| Database | MySQL 8+ |
| ORM | Spring Data JPA / Hibernate (SINGLE_TABLE inheritance) |
| Templates | Thymeleaf |
| API | CORS-enabled REST controllers (@CrossOrigin("*")) |
| Build tool | Gradle (with Gradle wrapper) |
/menu for browsing the current menu and /despensa for viewing pantry inventory. All other routes redirect to /menu by default.
Entity Relationships
Restorante uses two inheritance hierarchies to model its domain: Staff (Persona hierarchy)alimentos table via Hibernate’s SINGLE_TABLE inheritance strategy, discriminated by a dtype column.
Where to Go Next
Quickstart
Clone the repo, create the database, and make your first API call in under five minutes.
API Reference
Explore all available REST endpoints for menus, pantry, recipes, ingredients, and staff.