Arquitectura - puj-course/FIS_2630_1204_G2 GitHub Wiki

Arquitectura

GastroFlow es una aplicaciΓ³n de escritorio que se conecta a una base de datos compartida. Varias estaciones de trabajo β€”la del mesero, la de cocina, la del cajeroβ€” se conectan a la misma base.

TecnologΓ­as

Componente TecnologΓ­a
Interfaz JavaFX 21, con vistas en FXML y hojas de estilo CSS
LΓ³gica Java 21
Acceso a datos JDBC directo, sin framework de persistencia
Base de datos PostgreSQL 16
ConstrucciΓ³n Maven
Pruebas JUnit 5
Control de versiones Git y GitHub

Capas

El cΓ³digo estΓ‘ organizado en cinco capas, y cada una solo habla con la siguiente:

Capa Paquete Responsabilidad
Vista resources/views, resources/css QuΓ© se ve. Sin lΓ³gica.
Controlador controller Recoge la interacciΓ³n y actualiza la vista.
Servicio service Las reglas de negocio.
Repositorio repository, dao Las consultas SQL. Es el ΓΊnico que habla con la base.
Modelo entity, dto Los datos.

Toda conexiΓ³n a la base de datos pasa por ConexionBD. NingΓΊn otro punto del cΓ³digo abre una conexiΓ³n por su cuenta.

OrganizaciΓ³n del cΓ³digo

FIS_2630_1204_G2/
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ workflows/
β”‚   β”‚   └── ci.yml
β”‚   └── pull_request_template.md
β”œβ”€β”€ .mvn/
β”‚   └── wrapper/
β”œβ”€β”€ db/
β”‚   β”œβ”€β”€ ddl/
β”‚   β”œβ”€β”€ functions/
β”‚   └── migrations/
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ Imagenes/
β”‚   β”œβ”€β”€ database/
β”‚   └── pruebas/
β”œβ”€β”€ scripts/
β”‚   └── setup.sh
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main/
β”‚   β”‚   β”œβ”€β”€ java/
β”‚   β”‚   β”‚   β”œβ”€β”€ ConexionBD/
β”‚   β”‚   β”‚   β”œβ”€β”€ controller/
β”‚   β”‚   β”‚   β”œβ”€β”€ dao/
β”‚   β”‚   β”‚   β”œβ”€β”€ dto/
β”‚   β”‚   β”‚   β”œβ”€β”€ entity/
β”‚   β”‚   β”‚   β”œβ”€β”€ enums/
β”‚   β”‚   β”‚   β”œβ”€β”€ exceptions/
β”‚   β”‚   β”‚   β”œβ”€β”€ repository/
β”‚   β”‚   β”‚   β”œβ”€β”€ service/
β”‚   β”‚   β”‚   β”œβ”€β”€ session/
β”‚   β”‚   β”‚   β”œβ”€β”€ util/
β”‚   β”‚   β”‚   └── Main.java
β”‚   β”‚   └── resources/
β”‚   β”‚       β”œβ”€β”€ css/
β”‚   β”‚       └── views/
β”‚   └── test/
β”‚       └── java/
β”‚           β”œβ”€β”€ dto/
β”‚           β”œβ”€β”€ repository/
β”‚           └── util/
β”œβ”€β”€ .gitattributes
β”œβ”€β”€ .gitignore
β”œβ”€β”€ BOILERPLATE_template.md
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md
β”œβ”€β”€ mvnw
β”œβ”€β”€ mvnw.cmd
└── pom.xml