Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/srodriguezamarillo/orderflow
OrderFlow es un sistema avanzado para la gestión de mesas y pedidos en restaurantes, optimizando la experiencia de clientes y personal. Desarrollado en Java con Spring Boot, emplea patrones arquitectónicos como Observer y Facade para un diseño modular y escalable.
https://github.com/srodriguezamarillo/orderflow
clean-code dependency-injection design-patterns facade-pattern java javafx jpa-hibernate maven mvc object-oriented-programming observer-pattern postgresql rest-api spring-boot spring-security
Last synced: 21 days ago
JSON representation
OrderFlow es un sistema avanzado para la gestión de mesas y pedidos en restaurantes, optimizando la experiencia de clientes y personal. Desarrollado en Java con Spring Boot, emplea patrones arquitectónicos como Observer y Facade para un diseño modular y escalable.
- Host: GitHub
- URL: https://github.com/srodriguezamarillo/orderflow
- Owner: srodriguezamarillo
- License: mit
- Created: 2024-06-30T04:53:31.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-07-14T00:18:46.000Z (6 months ago)
- Last Synced: 2024-11-06T02:13:20.478Z (2 months ago)
- Topics: clean-code, dependency-injection, design-patterns, facade-pattern, java, javafx, jpa-hibernate, maven, mvc, object-oriented-programming, observer-pattern, postgresql, rest-api, spring-boot, spring-security
- Language: Java
- Homepage:
- Size: 119 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OrderFlow
OrderFlow es un sistema avanzado para la gestión de mesas y pedidos en restaurantes, optimizando la experiencia de clientes y personal. Desarrollado en Java con Spring Boot, emplea patrones arquitectónicos como Observer y Facade para un diseño modular y escalable. Además, hace uso de principios de programación orientada a objetos como herencia y polimorfismo para una estructura de código limpia y mantenible.
## Descripción del Proyecto
OrderFlow está diseñado para gestionar y optimizar la operativa de un restaurante mediante un sistema robusto y eficiente. El proyecto permite la gestión de usuarios, mesas, pedidos y servicios de manera integral, mejorando la eficiencia del restaurante y la satisfacción del cliente. Utiliza metodologías avanzadas de desarrollo de software, asegurando un código de alta calidad y fácil de mantener.
## Funcionalidades Principales
- **Gestión de Mozos:** Permite registrar, eliminar y listar mozos.
- **Gestión de Pedidos:** Permite agregar y eliminar pedidos de clientes.
- **Login de Usuarios:** Interfaz para el inicio de sesión de los usuarios del sistema.
- **Gestión de Mesas:** Permite la asignación y liberación de mesas.
- **Procesamiento de Pedidos:** Facilita el seguimiento y procesamiento de pedidos en curso.
- **Registro de Clientes:** Permite registrar nuevos clientes con diferentes categorías.
- **Gestión de Servicios:** Permite agregar y eliminar servicios ofrecidos por el restaurante.## Programación Orientada a Objetos (POO):
El proyecto hace uso extensivo de la herencia y el polimorfismo para estructurar el código de manera eficiente y reutilizable.- **Herencia:** La clase Usuario es extendida por las clases Mozo y Gestor, lo que permite compartir y especializar comportamientos comunes.
- **Polimorfismo:** Las interfaces ICliente y IProducto permiten la implementación de múltiples comportamientos, facilitando la expansión futura del sistema.## Patrones Arquitectónicos Utilizados
- **Observer:** Implementado para actualizar automáticamente las interfaces de usuario en respuesta a cambios en los datos.
- **Facade:** Proporciona una interfaz simplificada para las interacciones con el subsistema de gestión de pedidos y usuarios.## Principios SOLID:
El código sigue los principios SOLID para asegurar que sea fácil de entender, mantener y expandir.- **Single Responsibility Principle (SRP):** Cada clase tiene una única responsabilidad, como se observa en las clases dedicadas a gestionar usuarios, pedidos, mesas, etc.
- **Open/Closed Principle (OCP):** El sistema está diseñado para ser extendido sin modificar el código existente, facilitando futuras mejoras y adiciones.## Requisitos
- Java 17 o superior
- Maven## Instalación
Clona el repositorio:
```bash
git clone https://github.com/srodriguezamarillo/OrderFlow.git
cd OrderFlow
```## Compila el proyecto con Maven:
```bash
./mvnw clean install
```## Ejecución de Pruebas
```bash
./mvnw test
```## Estructura del Proyecto
El proyecto está estructurado de la siguiente manera:
- `src/main/java`: Contiene el código fuente principal del proyecto.
- `src/test/java`: Contiene las pruebas unitarias del proyecto.
- `pom.xml`: Archivo de configuración de Maven.## Contribución
Si deseas contribuir a este proyecto, por favor sigue los siguientes pasos:1. Haz un fork del repositorio.
2. Crea una nueva rama para tus cambios:
```bash
git checkout -b feature-nueva-funcionalidad3. Realiza tus cambios y haz commit de los mismos:
```bash
git commit -m 'Agregar nueva funcionalidad'4. Sube tus cambios a tu repositorio fork:
```bash
git push origin feature-nueva-funcionalidad5. Abre un Pull Request en el repositorio original.
## Licencia
Para más detalles, consulta el archivo LICENSE.## Contacto
Si tienes alguna pregunta o sugerencia, no dudes en ponerte en contacto:- **Email:** [email protected]
- **LinkedIn:** www.linkedin.com/in/sebastianrodriguezamarillo