Proyecto para Desarrollo Web en Entorno Servidor.
El proyecto consiste en lo siguiente: se trata de un aplicativo para una cafetería virtual. Los clientes pueden comprar varios tipos de café a través de una aplicación de terminal. Un cliente puede ver los productos ofrecidos y su precio, y si se registra puede hacer pedidos y ver su historial de pedidos. A la aplicación también puede registrarse una figura de administrador, que puede ver todos los pedidos que se han hecho, así como los clientes registrados. También puede añadir y/o modificar los productos y sus precios.
- La aplicación debe componerse de:
- Menú principal y secundarios: Menú principal, menú de cliente y menú de admin.
- Gestión de alta y selección: Registro de clientes, función de hacer pedidos
- Zona privada de información: Pedidos del cliente
- Zona pública de información: Productos en venta
- Modelo de datos:
- Al menos, 3 clases: Las clases principales son: Usuario, Admin, Cliente, Producto, Cafe, Pedido
- Con relaciones entre ellas: Hay herencia entre Usuario y Admin/Cliente, así como entre Producto y Café. Desde los métodos de cliente pueden realizarse nuevos pedidos
- Al menos 6 atributos/clase: Tienen 6 atributos las clases Cliente (id, correo, hashContrasena, saltContrasena, fechaCreacion, historicoPedidos), Cafe (id, precio, cantidadStock, numeroCompras, esComercioJusto, variedad, tipo), Pedido (id, nextId, idCliente, productos, precioTotal, fecha, clienteSatisfecho).
- Funcionalidad de búsqueda: Búsqueda de cafés por variedad y tipo
- Contenerizar la aplicación
- Usando el puerto del contenedor 8023: Véase el Dockerfile (aunque la aplicación no necesita el puerto)
- Al menos un volumen para acceder a los datos: Dentro del
contenedor, en
/app/data
.
- Subir el contenedor a un registro de contenedores y usar la
aplicación contenida: Véase
rlsanjose/cafeteria_cs
en Docker Hub
- Utilizar Git y Gitflow
- Almacenar datos en
.json
- Hacer un log con mensajes de error. Añadir un volumen que lo guarde.
- Añadir al menos una variable de entorno que emplee la
aplicación: Configurada la variable
LANG
comoes_ES.UTF-8
para que muestre la moneda como euros - Usar librerías como "Terminal.GUI" o "Spectre.Console" para hacer más visual la aplicación