Skip to content
 
 

Repository files navigation

MacJavaServer

Bienvenido a la API MacJava, desarrollada por Jaime Lozano, Diego Torres, Oscar Encabo y Kelvin Sánchez. Esta API proporciona una gestión segura y completa de bases de datos, diseñada para tiendas online, y está basada en el framework SpringBoot.

Autores

Pdf

Documento

Video

Video

Contenido

  1. Introducción
  2. GitFlow
  3. Dependencias
  4. Bases de Datos
  5. Características Comunes de los Endpoints
  6. Categorías
  7. Trabajadores y Clientes
  8. Restaurantes y Productos
  9. Autenticación
  10. Usuarios
  11. Pedidos
  12. Despliegue
  13. Tests

1. Introducción

La API MacJava ofrece una administración segura y completa de bases de datos, diseñada para tiendas online. Basada en SpringBoot, destaca por su facilidad de configuración y rápido desarrollo. Se sigue la metodología GitFlow para la gestión de ramas, con ramas de características integradas en una rama de desarrollo y fusionadas en una rama principal después de pruebas.

2. GitFlow

Se ha seguido la metodología GitFlow para la organización del proyecto, con ramas de características fusionadas en una rama de desarrollo, integrando cambios de manera segura.

3. Dependencias

Las dependencias incluyen SpringBoot (con varias características), bases de datos como PostgreSQL y H2, Lombok, Swagger, Jackson y JWT. Consulta la sección de dependencias para obtener detalles completos.

4. Bases de Datos

Para el desarrollo, se utiliza H2, que funciona en memoria y facilita la configuración de datos. En producción, se emplea PostgreSQL por su robustez y escalabilidad.

5. Características Comunes de los Endpoints

Se detallan características comunes en los modelos, UUIDs y autonuméricos, DTOs, Mappers, Excepciones, Repositorios, Servicios y Controladores. Los métodos comunes incluyen findAll, findById, save, update y deleteById. Se utiliza caché para mejorar el rendimiento.

6. Categorías

El endpoint de categorías gestiona roles (puestos) con detalles como id, nombre limitado, y salario base.

7. Trabajadores y Clientes

Estos endpoints comparten comportamiento. Solo los trabajadores y administradores pueden realizar cambios en las bases de datos. El programa está diseñado para cobertura local y presencial, con planes de expansión para compras online.

8. Restaurantes y Productos

Estos endpoints ofrecen control mixto: acciones permitidas para todos y acciones solo para administradores. Se manejan respuestas detalladas y códigos de estado.

9. Autenticación

El endpoint de autenticación permite registrarse e iniciar sesión. Se utiliza JWT para gestionar tokens y autenticar usuarios.

10. Usuarios

Este endpoint administra información de usuarios, con detalles tanto para administradores como para usuarios. Las contraseñas se codifican para mayor seguridad.

11. Pedidos

Este endpoint es el más complejo, gestionando pedidos de restaurantes, clientes y trabajadores. Utiliza MongoDB para almacenar pedidos, con clases específicas para productos pedidos y pedidos.

12. Despliegue

El despliegue se realiza mediante Docker, facilitando la distribución y permitiendo ajustes de configuración con archivos Dockerfile y docker-compose.

13. Tests

Se han creado pruebas de caja negra y caja blanca con JUnit y Mockito para verificar el correcto funcionamiento de la aplicación.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages