Documentación Entrega 4 - tip-team/grupo6-juegos-yop GitHub Wiki
Que es Juegos Yop
Juegos Yop es una empresa que realizan juguetes por medio de roto moldeado plástico.
Presentación
Link a la presentación.
Necesidad
La empresa necesita una web en la cual los futuros clientes puedan adquirir sus productos.
Objetivo
El objetivo es crear una web para que los clientes puedan adquirir los productos de manera online.
Entrega 4
Durante esta entrega se agregaron las siguientes funcionalidades solicitadas por el cliente:
- Activar o desactivar un producto.
- Agregar descripción de un producto.
- Ordenar ventas por fecha de compra descendente.
- Normalizar campos precio.
- Agregar imagen del producto al checkout de Mercado Pago.
Se agregaron las siguientes funcionalidades extras solicitadas por el cliente:
- Integración con servicio de chat provisto por Crisp .
- Agregar concepto de prioridad a los productos.
También se continuo en la mejora de performance:
- Mejora en el manejo de fuentes en el frontend.
- Migración de la base de datos a Google Cloud SQL.
- Migración del backend a Google Cloud Platform.
Arquitectura
La arquitectura utilizada es frontend-backend.
Tecnologías utilizadas
Frontend: Se desarrolló una aplicación utilizando Angular 7, Angular Material y Express para el servidor web.
Backend: Se desarrolló una aplicación utilizando Java 8, Spring Boot y Jersey. La misma otorga servicios vía API en http://localhost:8080/api.
Servicios API:
DATA:
producto = {
"id": i,
"nombre": n,
"precio": p,
"imagen": i,
"habilitado"; h
}
pago = {
"idCompra": i,
"nombreProducto": n,
"monto": m,
"montoRecibido": r,
"estadoDePago": e,
"fecha": f,
"email": e
}
Method | URL | Response / Request |
---|---|---|
GET | api/productos | { "producto": producto } |
GET | api/productos/{id} | { "producto": producto } |
PUT | api/productos/{id} | { "producto": producto } |
POST | api/productos | { "producto": producto } |
DELETE | api/productos/{id} | |
GET | api/mp/obtenerUrlPago | { "id": i, "email": e} |
POST | auth/token | { "username": username, "password ": password } |
POST | api/mp/notifications | { "id": i, "type": t} |
GET | api/pagos | { "pago": pago } |
Persistencia: Se decide utilizar bases de datos relacionales y para el proyecto se utiliza postgres.