Parcial Práctico 2 Tercio v2.0.0
Opened this issue · 0 comments
juusechec commented
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:
- El API Funciona según los criterios de aceptación Funcionales: 80%
- El PR (Pull Request) Fue creado usando los criterios de aceptación No Funcionales: 20%