PDSW-ECI/labs

Parcial Práctico 2 Tercio v2.0.0

Opened this issue · 0 comments

image

Descripción Historia de Usuario:


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

Criterios de Aceptación Funcionales


El vehículo debe tener los siguientes campos:

Vehicle
ID (INT)
CLASS (ENUM/SMALLINT)
MANUFACTURER (VARCHAR)
MODEL (VARCHAR)
YEAR (SMALLINT)
TYPE (VARCHAR)
PRICE_CENTS (INT)
COLOR (VARCHAR)
  • El campo CLASS contiene 8 elementos: MOTORCYCLE, PASSAGER_CAR, FOUR_TIRE, BUSES, TWO_AXLE, THREE_AXLE, FOUR_AXLE_OR_MORE, MULTI_TRAILER
  • El campo YEAR es un número de 4 dígitos

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

  • GET /api/vehicles : Retorna todos los vehículos existentes en la base de datos
  • GET /api/vehicle/:id : Retorna el vehículo identificado con el id de valor ":id"
  • POST /api/vehicle : Recibe una entrada JSON con los campos necesarios para crear un nuevo vehículo, retorna una salida JSON correspondiente al vehículo creado
  • PUT /api/vehicle : Recibe una entrada JSON con los campos necesarios para actualizar todos los campos un vehículo existente, retorna una salida JSON correspondiente al vehículo actualizado
  • DELETE /api/vehicle/:id : Recibe un ":id" que corresponde a un vehículo existente y lo elimina de la base de datos
  • PATCH /api/vehicle/:id : Recibe un ":id" de un vehículo existente y en el request body recibe un objeto JSON qué puede tener uno o todos los atributos de un vehículo, sobre los atributos que se envíen, se deberá hacer una actualización parcial
    Ejemplo PATCH:
  • Vehículo existente:
{
  "id": 1,
  "class": "MOTORCYCLE",
  "manufacturer": "BMW",
  "model": "G 310 GS",
  "year": 2010,
  "type": "TRAIL",
  "price_cents": 3000000000,
  "color": "VARIOCOLOR"
}
  • Request method: PATCH
  • Request Resource: /api/vehicle/1
  • Request body: application/json
{
  "manufacturer": "HONDA",
  "model": "ECO DELUXE"
}
  • Response body: application/json
{
  "id": 1,
  "class": "MOTORCYCLE",
  "manufacturer": "HONDA",
  "model": "ECO DELUXE",
  "year": 2010,
  "type": "TRAIL",
  "price_cents": 3000000000,
  "color": "VARIOCOLOR"
}

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%