Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parcial Práctico 2 Tercio #12

Open
juusechec opened this issue Apr 9, 2024 · 0 comments
Open

Parcial Práctico 2 Tercio #12

juusechec opened this issue Apr 9, 2024 · 0 comments

Comments

@juusechec
Copy link
Contributor

juusechec commented Apr 9, 2024

image

Descripción Historia de Usuario:


Cómo: Profesor del curso de CVDS
Deseo: qué se realicé una API de productos
Para: poder realizar consultas a los productos alojados en la base de datos a través de Postman

Criterios de Aceptación Funcionales


El producto debe contener los siguientes campos:

Product
ID (INT)
NAME (VARCHAR)
DESCRIPTION (VARCHAR)
CATEGORY (ENUM/SMALLINT)
RATING (SMALLINT)
PRICE (INT)
QUANTITY (INT)
  • El campo category contiene 4 elementos: Clothes, Food, Technology y Drugstore
  • El campo rating es un número de 1 a 5 estrellas

El diseño de la api debe corresponder a los siguientes recursos:

  • GET /api/products : Retorna todos los productos existentes en la base de datos
  • GET /api/product/:id : Retorna el producto identificado con el id de valor ":id"
  • POST /api/product : Recibe una entrada JSON con los campos necesarios para crear un nuevo producto, retorna una salida JSON correspondiente al producto creado
  • PUT /api/product : Recibe una entrada JSON con los campos necesarios para actualizar todos los campos un producto existente, retorna una salida JSON correspondiente al producto actualizado
  • DELETE /api/product/:id : Recibe un ":id" que corresponde a un producto existente y lo elimina de la base de datos
  • PATCH /api/product/:id : Recibe un ":id" de un producto existente y en el request body recibe un objeto JSON qué puede tener uno o todos los atributos de un producto, sobre los atributos que se envíen, se deberá hacer una actualización parcial
    Ejemplo PATCH:
  • Producto existente:
{
  "id": 1,
  "name": "Papa pastusa",
  "description": "Papa típica colombiana muy consumida en la región cundiboyacense",
  "category": "Food",
  "rating": 5,
  "price": 2000,
  "quantity": 100
}
  • Request method: PATCH
  • Request Resource: /api/product/1
  • Request body: application/json
{
  "name": "Papa criolla",
  "description": "Solanum phureja es una especie de planta fanerógama perteneciente a la familia de las solanáceas. Altamente consumida en los países andinos, conocida comúnmente como papa criolla, amarilla redonda o chaucha."
}
  • Response body: application/json
{
  "id": 1,
  "name": "Papa criolla",
  "description": "Solanum phureja es una especie de planta fanerógama perteneciente a la familia de las solanáceas. Altamente consumida en los países andinos, conocida comúnmente como papa criolla, amarilla redonda o chaucha.",
  "category": "Food",
  "rating": 5,
  "price": 2000,
  "quantity": 100
}

Criterios de Aceptación No Funcionales


  • El código debe estar basado en el backend del laboratorio 7 (El código final que tu hiciste en equipo, aunque si desean pueden usar el que se toma como base del laboratorio 7)
  • Se debe crear un nuevo repositorio en GitHub, NO SE DEBE MODIFICAR EL REPOSITORIO DEL LABORATORIO 7
  • En la rama main/master debe estar el código del laboratorio 7, qué es el código base sobre el que se va a comenzar a trabajar
  • Se debe crear una nueva rama llamada "feature/parcial2" a partir de main/master en dónde se subirán los cambios que se necesitan para solucionar esta historia de usuario
  • Se debe crear un Pull Request desde la rama "feature/parcial2" hacia la rama main/master
  • Se tendrá 1 hora para realizar esta historia de usuario, pasado ese tiempo no se aceptarán commits

Calificación

Al finalizar la hora, se pasará por cada puesto para verificar usando la siguiente rúbrica:

  1. El API Funciona según los criterios de aceptación Funcionales: 80%
  2. El PR (Pull Request) Fue creado usando los criterios de aceptación No Funcionales: 20%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant