Documentación Entrega 3 - 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 3

Durante esta entrega se trabajo en la parte de contacto, con su respectivo procesamiento de email también se agregaron nuevos datos de usuario requeridos por el cliente. Por otro lado se trabajó para mejorar la performance de la aplicación y se tomaron las siguientes acciones:

  • Revisión integral de tiempos en el backend y en el frontend usando tools.pingdom.com
  • Mejoras en el código.
  • Compresión de imágenes.
  • Activación de gzip compression en backend y frontend.
  • Uso de AOT en el frontend.
  • Migración del frontend 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