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.

Diagrama de casos de uso