Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/normalhuman01/platzi-market-spring


https://github.com/normalhuman01/platzi-market-spring

Last synced: 17 days ago
JSON representation

Awesome Lists containing this project

README

        

# Dependencias
1. pgAdmin
2. IntelliJ IDEA IDE
# Instrucciones
1. Ejecutar las consultas sql de los archivos BD/schema y DB/data en pgAdmin para crear y poblar la base de datos
2. Agregar el plugin MapStruct al IDE desde el siguiente link: https://plugins.jetbrains.com/plugin/10036-mapstruct-support
3. Abrir el proyecto con el archivo build.gradle desde el IDE
4. Correr el proyecto
# Rutas

Productos

1. Obtener productos: GET http://localhost:5000/platzi-market/api/products/all
2. Obtener producto por id: GET http://localhost:5000/platzi-market/api/products/{id}
3. Guardar producto: POST http://localhost:5000/platzi-market/api/products

Ejemplo de Body:


{
"name": "Palta",
"categoryId": 1,
"price": 20.0,
"stock": 100,
"active": true
}

4. Borrar producto: DELETE http://localhost:5000/platzi-market/api/products/{id}

Compras

1. Obtener compras: GET http://localhost:5000/platzi-market/api/purchases/all
2. Obtener compra por id: GET http://localhost:5000/platzi-market/api/purchases/{id}
3. Obtener compra por id del cliente: GET http://localhost:5000/platzi-market/api/purchases/client/{id}
4. Guardar compra: POST http://localhost:5000/platzi-market/api/purchases

Ejemplo de body:


{
"clientId": "4546221",
"date": "1992-08-10T17:30:00",
"paymentMethod": "E",
"comment": "",
"state": "P",
"items": []
}

5. Borrar compra: DELETE http://localhost:5000/platzi-market/api/purchases/{id}
# Documentacion (Swagger)
1. Acceder a traves del siguiente link: http://localhost:5000/platzi-market/api/swagger-ui.html
# Seguridad (Spring Security)
1. La seguridad se maneja a través de JWT, para autenticarse se accede a la API de autorizacion a través de la siguiente ruta: http://localhost:5000/platzi-market/api/auth/authenticate

junto con un Body:


{
"username": "*****",
"password": "*****"
}

Luego, se generará un token JWT que tendrá que ser usado en el header de cada petición http a las API's.


Si se desea autenticarse una única vez, también se puede llevar a cabo la autenticación haciendo click en el siguiente boton en la documentación swagger (http://localhost:5000/platzi-market/api/swagger-ui.html):
Botón de autorizacion
Luego se mostrará el siguiente modal:


Modal de autenticacion


En el campo "Value" se ingresará la palabra "Bearer " mas el token de autenticación generado previamente, una vez hecho esto, se habilitarán todas las peticiones en esta sesión a través de la documentación swagger al dar click en el botón "Authorize".
# Estado del proyecto
1. En desarrollo (90%)
# Caracteristicas futuras
1. Dockerización