Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Abel3581/midas-estore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

midas-estore

Tienda de productos

Enunciado del ejercicio: Necesitamos desarrollar las API en java 11 o superior, para la parte backend de un sistema de una tienda. Según el tipo de usuario, se va a permitir realizar distintas acciones.

Para simplificar, sólo consideraremos dos tipos de usuarios: los clientes y los administradores

Los administradores pueden:

  • Iniciar sesión
  • Realizar abm de productos
  • Ver la lista de todos los usuarios registrados en el sistema.
  • Ver la lista de todos los pedidos realizados en el sistema.

Los clientes pueden:

  • Registrarse
  • Iniciar sesión
  • Listar todos los productos
  • Agregar productos al carrito
  • Realizar compra de lo agregado al carrito

El producto debe tener al menos los siguientes atributos:

  • id
  • name
  • description
  • price
  • count
  • state
  • stock

Requisitos técnicos que se valoran en la resolución del ejercicio:

  • Utilización de algún framework web (por ejemplo, Spring Boot).
  • Implementación sobre una base de datos en memoria (por ejemplo, H2).
  • Implementación de autenticación y autorización de forma que solo los usuarios autenticados puedan acceder a la API.
  • Documentación de la API utilizando Swagger o una herramienta similar.
  • Inclusión de pruebas unitarias del código.
  • Manejo de errores (Exceptions)

UML

UML

Tecnologias

  • Java 17
  • Spring boot 3.14
  • lombok
  • mysql data base
  • Spring security
  • JWT
  • Manejo de roles
  • Junit y Mockito -> integration test

Al inicializar la API por primera vez, se crea un usuario con rol ADMIN y dos roles adicionales: CUSTOMER y ADMIN. Dependiendo de los roles asignados a un usuario, este tendrá acceso a diferentes puntos finales de la API.

Usuario Admin

Postman

Puedes encontrar la colección de Postman en resource/postman/

Swagger

http://localhost:8080/swagger-ui/index.html#/

About

Tienda de productos

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages