Este proyecto es una aplicación web diseñada para modernizar el sistema de reservas del restaurante "Sabor Gourmet". La aplicación permite a los clientes realizar, gestionar, cancelar y modificar reservas en línea, mientras que el personal del restaurante puede administrar la disponibilidad de mesas y consultar las reservas actuales desde una interfaz administrativa.
-
Gestión de Reservas en Línea:
- Reserva de mesas en tiempo real.
- Cancelación y modificación de reservas existentes.
- Visualización de la disponibilidad de mesas.
-
Interfaz de Administración:
- Configuración y actualización de mesas.
- Gestión de reservas actuales.
-
Diseño Responsivo:
- Interfaz optimizada para dispositivos móviles y de escritorio.
-
Arquitectura del Sistema:
- Spring MVC: Para gestionar las solicitudes y la lógica de negocio.
- Spring Data JPA: Para el manejo de datos relacionados con clientes, reservas y mesas.
- Thymeleaf: Para las vistas dinámicas e interacción con el usuario.
- Java
- Spring Boot
- Spring MVC
- Spring Data JPA
- Thymeleaf
- H2 Database (Base de datos en memoria para desarrollo)
- Bootstrap (Para diseño responsivo)
- Git y GitHub (Control de versiones)
Antes de ejecutar el proyecto, asegúrate de tener instalados los siguientes programas:
- Java 17 o superior.
- Maven 3.8 o superior.
- Un IDE como IntelliJ IDEA, Eclipse o Visual Studio Code.
-
Clona el repositorio:
git clone https://github.com/mbstnd/app-mvc-springboot.git cd app-mvc-springboot
-
Configura el proyecto:
- Importa el proyecto en tu IDE como un proyecto Maven.
- Asegúrate de que el JDK esté configurado correctamente.
-
Ejecuta la aplicación:
mvn spring-boot:run
-
Accede a la aplicación:
- Abre tu navegador y ve a:
http://localhost:8080
- Abre tu navegador y ve a:
-
src/main/java: Contiene los archivos fuente de la aplicación.
- controllers: Implementa los controladores para gestionar las solicitudes de los usuarios.
- models: Define las entidades como Cliente, Mesa y Reserva.
- repositories: Contiene los repositorios para la persistencia de datos usando Spring Data JPA.
- services: Implementa la lógica de negocio de la aplicación.
-
src/main/resources:
- templates: Vistas Thymeleaf para la interacción del usuario.
- static: Archivos estáticos como CSS, JS e imágenes.
- application.properties: Configuración de la aplicación.
- Controladores para gestionar reservas (crear, ver, modificar, cancelar).
- Entidades: Cliente, Mesa, Reserva.
- Repositorios para persistencia de datos.
- Páginas dinámicas para reservas y administración.
- Formularios para interactuar con las funciones del sistema.
- Mejorar la validación de datos en los formularios.
- Agregar autenticación y autorización para las vistas administrativas.
- Implementar soporte para bases de datos externas como MySQL o PostgreSQL.
Si deseas contribuir al proyecto:
- Haz un fork del repositorio.
- Crea una nueva rama (
git checkout -b feature/nueva-funcionalidad
). - Realiza tus cambios y haz un commit (
git commit -m "Agrega nueva funcionalidad"
). - Sube los cambios a tu rama (
git push origin feature/nueva-funcionalidad
). - Crea un pull request en este repositorio.
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE
para más detalles.