Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En el reto 5, el equipo desarrollará completa la aplicación aplicando los conocimientos adquiridos sobre CSS, de
esta manera se complementará la parte visual de la aplicación y se alineará a los mockups propuestos.
Adicionalmente se podrá satisfacer las necesidades de la gerencia que solicita reportes con el fin de tomar decisiones
gerenciales con mayor certeza. Estos reportes consisten en:
En este caso, no se ejecutará el código directamente sino que se evaluarán los resultados obtenidos al realizar
peticiones HTTP al API construida y que actualmente debe estar desplegada en Oracle Cloud. Las peticiones que se
realizarán serán de tipo GET y POST Para realizar las pruebas, las tablas de la base datos deben estar vacías y el
valor
Para realizar la prueba, será necesario primero realizar la creación de los datos iniciales que serán consistentes con
la prueba, para ello se ejecutarán una serie de peticiones POST. Posteriormente se Realizarán las peticiones GET a
cada reporte.
Entrada Cada grupo debe proveer URL (o la ip) donde se encuentra desplegada el API.
Esta entrada se denominará URL Base
Salida Corresponde a los mensajes JSON que retorna cada petición. MasterTech hará la
comparación de forma automática.
Tabla 1. Ejemplo
En pirmer lugar MasterTech hará un cargue de información previa utilizando peticiones POST y GET para validar,
luego después de este cargue de información, MasterTech hará una petición de tipo GET para conocer el estado de
la base de datos. Todo este proceso se realiza de manera automática por MasterTech.
Recomendaciones generales
Antes de enviar la solución del reto, por favor tenga en cuenta los siguientes aspectos:
Verifique que la aplicación esté desplegada correctamente y sea accesible a través de la URL
Verifique que todos los endpoint funcionen. Recuerde que puede probarlos a través de PostMan
Las tablas de la base de datos deben estar vacías y recién creadas para que el identificador generado
automáticamente en cada tabla esté en 0.
Lo único que debe proveer a MasterTech para las pruebas es la URL de su API
Creación de gama
Tipo: GET
Endpoint http://129.159.49.189/Gama/all
Paso 1. Body
Salida []
Tipo: POST
Endpoint http://129.159.49.189/Gama/save
{
Paso 2. Body
"name":"Sedan",
"description":"Vehículo ligero para transitar en la ciudad"
}
Salida
TIPO GET
Paso 3. Endpoint http://129.159.49.189/Gama/all
Body
[{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en
Salida la ciudad.","cars":[]}]
Creación de Carro 1
Tipo: GET
Endpoint http://129.159.49.189/Car/all
Paso 1. Body
Salida []
Tipo: POST
Endpoint http://129.159.49.189/Car/save
{
"name":"Logan",
Paso 2. Body
"brand":"Renault",
"year":"2016",
"description":"Renault Logan 1.6 Privilege",
"gama":{"idGama":1}
}
Salida
TIPO GET
Endpoint http://129.159.49.189/Car/all
Paso 3.
Body
[{"idCar":1,"name":"Logan","brand":"Renault","year":2016,"description":"Renault
Salida Logan 1.6 Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo
ligero para transitar en la ciudad"},"messages":[],"reservations":[]}]
Creación de Carro 2
Tipo: GET
Endpoint http://129.159.49.189/Car/all
Paso 1. Body
Salida []
Tipo: POST
Endpoint http://129.159.49.189/Car/save
{
"name":"Car 2",
Paso 2. Body
"brand":"Test",
"year":"2016",
"description":"car2 testing",
"gama":{"idGama":1}
}
Salida
TIPO GET
Endpoint http://129.159.49.189/Car/all
Body
Paso 3. [{"idCar":1,"name":"Logan","brand":"Renault","year":2016,"description":"Renault
Logan 1.6 Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo
ligero para transitar en la
Salida ciudad"},"messages":[],"reservations":[]},{"idCar":2,"name":"Car
2","brand":"Test","year":2016,"description":"car2
testing","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para
transitar en la ciudad"},"messages":[],"reservations":[]}]
Creación de Carro 3
Tipo: GET
Endpoint http://129.159.49.189/Car/all
Paso 1. Body
Salida []
Tipo: POST
Endpoint http://129.159.49.189/Car/save
{
"name":"Car 3",
Paso 2. Body
"brand":"Test",
"year":"2016",
"description":"car3 testing",
"gama":{"idGama":1}
}
Salida
TIPO GET
Endpoint http://129.159.49.189/Car/all
Body
[{"idCar":1,"name":"Logan","brand":"Renault","year":2016,"description":"Renault
Logan 1.6 Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo
Paso 3. ligero para transitar en la
ciudad"},"messages":[],"reservations":[]},{"idCar":2,"name":"Car
2","brand":"Test","year":2016,"description":"car2
Salida testing","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para
transitar en la
ciudad"},"messages":[],"reservations":[]},{"idCar":3,"name":"Car
2","brand":"Test","year":2016,"description":"car3
testing","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para
transitar en la ciudad"},"messages":[],"reservations":[]}]
Creación de Cliente 1
Tipo: GET
Endpoint http://129.159.49.189/Client/all
Paso 1. Body
Salida []
Tipo: POST
Endpoint http://129.159.49.189/Client/save
{
"name":"client1",
Paso 2. Body
"email":"c1@gmail.com",
"password":"c123",
"age":18
}
Salida
TIPO GET
Paso 3. Endpoint http://129.159.49.189/Client/all
Body
Salida [{"idClient":1,"email":"c1@gmail.com","password":"c123","name":"client1","age":18,"messages":[],"reservations":[]}]
Creación de Cliente 2
Tipo: GET
Pa Endp http://129.159.49.189/Client/all
oint
so Body
1. Salid []
a
Tipo: POST
Endp http://129.159.49.189/Client/save
oint
Pa {
"name":"client2",
so Body "email":"c2@gmail.com",
"password":"c123",
2. "age":18
}
Salid
a
TIPO GET
Pa Endp http://129.159.49.189/Client/all
so oint
3. Body
Salid [{"idClient":1,"email":"c1@gmail.com","password":"c123","name":"client1","age":18,"messages":[],"reservations":[]},{"idClient":2,"email":"c2@
gmail.com","password":"c123","name":"client2","age":18,"messages":[],"reservations":[]}]
a
Creación de Reserva 1
Tipo: GET
Paso
Endpoint http://129.159.49.189/Reservation/all
1. Body
Salida []
Tipo: POST
Endpoint http://129.159.49.189/Reservation/save
{
"startDate":"2020-12-20",
Paso "devolutionDate":"2020-12-20",
2. Body "client":{"idClient":1},
"car":{"idCar":1},
"status":"completed",
}}
Salida
TIPO GET
Endpoint http://129.159.49.189/Reservation/all
Paso Body
3. [{"idReservation":1,"startDate":"2020-12-20T00:00:00.000+00:00","devolutionDate":"2020-12-
23T00:00:00.000+00:00","status":"completed","car":{"idCar":1,"name":"Logan","brand":"Renault","year":2016,"description":"Renault
Salida Logan 1.6 Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
ciudad"},"messages":[]},"client":{"idClient":1,"email":"c1@gmail.com","password":"c123","name":"client1","age":18},"score":null}]
Creación de Reserva 2
Tipo: GET
Endpoi http://129.159.49.189/Reservation/all
Pas
nt
o 1. Body
Salida []
Tipo: POST
Endpoi http://129.159.49.189/Reservation/save
nt
{
Pas "startDate":"2020-12-20",
"devolutionDate":"2020-12-23",
o 2. Body "status":"completed",
"client":{"idClient":1},
"car":{"idCar":1}
}
Salida
TIPO GET
Endpoi http://129.159.49.189/Reservation/all
nt
Pas Body
o 3. [{"idReservation":1,"startDate":"2020-12-20T00:00:00.000+00:00","devolutionDate":"2020-12-
23T00:00:00.000+00:00","status":"completed","car":{"idCar":1,"name":"Logan","brand":"Renault","year":2016,"description":"Renault Logan
1.6 Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
ciudad"},"messages":[]},"client":{"idClient":1,"email":"c1@gmail.com","password":"c123","name":"client1","age":18},"score":null},{"idRese
Salida rvation":2,"startDate":"2020-12-20T00:00:00.000+00:00","devolutionDate":"2020-12-
23T00:00:00.000+00:00","status":"completed","car":{"idCar":1,"name":"Logan","brand":"Renault","year":2016,"description":"Renault Logan
1.6 Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
ciudad"},"messages":[]},"client":{"idClient":1,"email":"c1@gmail.com","password":"c123","name":"client1","age":18},"score":null}]
Creación de Reserva 3
Pas Tipo: GET
Endpoi http://129.159.49.189/Reservation/all
o 1. nt
Body
Salida []
Tipo: POST
Endpoi http://129.159.49.189/Reservation/save
nt
{
Pas "startDate":"2021-02-15",
"devolutionDate":"2021-02-18",
o 2. Body "status":"completed",
"client":{"idClient":1},
"car":{"idCar":1}}
}
Salida
TIPO GET
Endpoi http://129.159.49.189/Reservation/all
nt
Body
[{"idReservation":1,"startDate":"2020-12-20T00:00:00.000+00:00","devolutionDate":"2020-12-
Pas 23T00:00:00.000+00:00","status":"completed","car":{"idCar":1,"name":"Logan","brand":"Renault","year":2016,"description":"Renault Logan
1.6 Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
o 3. ciudad"},"messages":[]},"client":{"idClient":1,"email":"c1@gmail.com","password":"c123","name":"client1","age":18},"score":null},{"idRese
rvation":2,"startDate":"2020-12-20T00:00:00.000+00:00","devolutionDate":"2020-12-
23T00:00:00.000+00:00","status":"completed","car":{"idCar":1,"name":"Logan","brand":"Renault","year":2016,"description":"Renault Logan
Salida 1.6 Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
ciudad"},"messages":[]},"client":{"idClient":1,"email":"c1@gmail.com","password":"c123","name":"client1","age":18},"score":null},{"idRese
rvation":3,"startDate":"2021-02-15T00:00:00.000+00:00","devolutionDate":"2021-02-
18T00:00:00.000+00:00","status":"completed","car":{"idCar":1,"name":"Logan","brand":"Renault","year":2016,"description":"Renault Logan
1.6 Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
ciudad"},"messages":[]},"client":{"idClient":1,"email":"c1@gmail.com","password":"c123","name":"client1","age":18},"score":null}]
Creación de Reserva 4
Tipo: GET
Endpoi http://129.159.49.189/Reservation/all
Pas
nt
o 1. Body
Salida []
Tipo: POST
Endpoi http://129.159.49.189/Reservation/save
nt
{
Pas "startDate":"2021-05-15",
"devolutionDate":"2021-05-18",
o 2. Body "status":"cancelled",
"client":{"idClient":2},
"car":{"idCar":2}
}
Salida
TIPO GET
Endpoi http://129.159.49.189/Reservation/all
Pas nt
o 3. Body
[{"idReservation":1,"startDate":"2020-12-20T00:00:00.000+00:00","devolutionDate":"2020-12-
23T00:00:00.000+00:00","status":"completed","car":{"idCar":1,"name":"Logan","brand":"Renault","year":2016,"description":"Renault Logan
Salida 1.6 Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
ciudad"},"messages":[]},"client":{"idClient":1,"email":"c1@gmail.com","password":"c123","name":"client1","age":18},"score":null},{"idRese
rvation":2,"startDate":"2020-12-20T00:00:00.000+00:00","devolutionDate":"2020-12-
23T00:00:00.000+00:00","status":"completed","car":{"idCar":1,"name":"Logan","brand":"Renault","year":2016,"description":"Renault Logan
1.6 Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
ciudad"},"messages":[]},"client":{"idClient":1,"email":"c1@gmail.com","password":"c123","name":"client1","age":18},"score":null},{"idRese
rvation":3,"startDate":"2021-02-15T00:00:00.000+00:00","devolutionDate":"2021-02-
18T00:00:00.000+00:00","status":"completed","car":{"idCar":1,"name":"Logan","brand":"Renault","year":2016,"description":"Renault Logan
1.6 Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
ciudad"},"messages":[]},"client":{"idClient":1,"email":"c1@gmail.com","password":"c123","name":"client1","age":18},"score":null},{"idRese
rvation":4,"startDate":"2021-05-15T00:00:00.000+00:00","devolutionDate":"2021-05-
18T00:00:00.000+00:00","status":"cancelled","car":{"idCar":2,"name":"Car 2","brand":"Test","year":2016,"description":"car2
testing","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
ciudad"},"messages":[]},"client":{"idClient":2,"email":"c2@gmail.com","password":"c123","name":"client2","age":18},"score":null}]
Top clientes
Tip GET
o:
End http://129.159.49.189/Reservation/report-clients
poi
nt
P Bod
as y
[{"total":3,"client":{"idClient":1,"email":"c1@gmail.com","password":"c123","name":"client1","age":18
o ,"messages":[],"reservations":[{"idReservation":1,"startDate":"2020-12-
1. 20T00:00:00.000+00:00","devolutionDate":"2020-12-
23T00:00:00.000+00:00","status":"completed","car":{"idCar":1,"name":"Logan","brand":"Renault","year":
Sali 2016,"description":"Renault Logan 1.6
Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
da ciudad"},"messages":[]},"score":null},{"idReservation":2,"startDate":"2020-12-
20T00:00:00.000+00:00","devolutionDate":"2020-12-
23T00:00:00.000+00:00","status":"completed","car":{"idCar":1,"name":"Logan","brand":"Renault","year":
2016,"description":"Renault Logan 1.6
Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
ciudad"},"messages":[]},"score":null},{"idReservation":3,"startDate":"2021-02-
15T00:00:00.000+00:00","devolutionDate":"2021-02-
18T00:00:00.000+00:00","status":"completed","car":{"idCar":1,"name":"Logan","brand":"Renault","year":
2016,"description":"Renault Logan 1.6
Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
ciudad"},"messages":[]},"score":null}]}},{"total":1,"client":{"idClient":2,"email":"c2@gmail.com","pa
ssword":"c123","name":"client2","age":18,"messages":[],"reservations":[{"idReservation":4,"startDate"
:"2021-05-15T00:00:00.000+00:00","devolutionDate":"2021-05-
18T00:00:00.000+00:00","status":"cancelled","car":{"idCar":2,"name":"Car
2","brand":"Test","year":2016,"description":"car2
testing","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
ciudad"},"messages":[]},"score":null}]}}]
Top Carros
Tipo GET
:
End http://129.159.49.189/Reservation/report-clients
poin
t
Bod
y
[{"total":3,"car":{"idCar":1,"name":"Logan","brand":"Renault","year":2016,"description":"Renault
Logan 1.6 Privilege","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar
P en la ciudad"},"messages":[],"reservations":[{"idReservation":1,"startDate":"2020-12-
as 20T00:00:00.000+00:00","devolutionDate":"2020-12-
23T00:00:00.000+00:00","status":"completed","client":{"idClient":1,"email":"c1@gmail.com","password"
o :"c123","name":"client1","age":18},"score":null},{"idReservation":2,"startDate":"2020-12-
20T00:00:00.000+00:00","devolutionDate":"2020-12-
1. 23T00:00:00.000+00:00","status":"completed","client":{"idClient":1,"email":"c1@gmail.com","password"
:"c123","name":"client1","age":18},"score":null},{"idReservation":3,"startDate":"2021-02-
Sali 15T00:00:00.000+00:00","devolutionDate":"2021-02-
da 18T00:00:00.000+00:00","status":"completed","client":{"idClient":1,"email":"c1@gmail.com","password"
:"c123","name":"client1","age":18},"score":null}]}},{"total":1,"car":{"idCar":2,"name":"Car
2","brand":"Test","year":2016,"description":"car2
testing","gama":{"idGama":1,"name":"Sedan","description":"Vehículo ligero para transitar en la
ciudad"},"messages":[],"reservations":[{"idReservation":4,"startDate":"2021-05-
15T00:00:00.000+00:00","devolutionDate":"2021-05-
18T00:00:00.000+00:00","status":"cancelled","client":{"idClient":2,"email":"c2@gmail.com","password"
:"c123","name":"client2","age":18},"score":null}]}}]