Aplicação web para buscar motoristas que sairam com o próprio carro e acabaram ingerindo bebidas alcoólicas
link: https://ubeer.vercel.app/
Para cadastrar um novo usuário utilize a rota abaixo:
Método | endpoint |
---|---|
POST | /users/signup |
{
"email": "[email protected]",
"password": "123456",
"name": "Gabriel",
"car": {
"model": "fusion",
"plate": "AZP-3705"
}
}
{
"newUser": {
"email": "[email protected]",
"name": "Gabriel",
"car": {
"model": "fusion",
"plate": "AZP-3705"
}
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiR2FicmllbCIsImVtYWlsIjoiZ2FicmllbGNhc3RlZG9Aa2VuemllLmNvbS5iciIsImlhdCI6MTY0NzM4MDI2OCwiZXhwIjoxNjQ3NDY2NjY4fQ.eFAOeK-8gQgGN4XtAMAWZFrAVeapWih1fRqII8hyGec"
}
Para fazer login utilize a rota abaixo:
Método | endpoint |
---|---|
POST | /users/login |
{
"email": "[email protected]",
"password": "123456"
}
{
"user": {
"id": "434fc60c-06e1-48d8-b1bc-af2efc2cc85d",
"email": "[email protected]",
"name": "carlos",
"car": {
"model": "onix",
"plate": "AZP-3705"
},
"budget": 0,
"favoritesPlaces": [],
"travelHistoric": []
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiY2FybG9zIiwiZW1haWwiOiJqb3Nlam9zZUBrZW56aWUuY29tLmJyIiwiaWF0IjoxNjQ3Mzc5NzczLCJleHAiOjE2NDc0NjYxNzN9.bC35Rl-JlIq2Ot73H904cC3qR4wQflvoV6ZTgONzDac"
}
Todas as rotas abaixo necessitam de autenticação através do padrão Bearer authorization
.
Para receber os dados do usuário atualizados utilize a rota abaixo:
Método | endpoint |
---|---|
GET | /users/:userId |
{
"id": "6155957e-bd2a-4675-bff4-bf10805b422c",
"email": "[email protected]",
"name": "Gabriel",
"car": {
"model": "fusion",
"plate": "AZP-3705"
},
"budget": 0,
"favoritesPlaces": [],
"travelHistoric": []
}
Para atualizar o saldo do usuário utilize a rota abaixo:
Método | endpoint |
---|---|
PUT | /users/:userId/budget?value=<novoSaldo> |
{
"id": "6155957e-bd2a-4675-bff4-bf10805b422c",
"email": "[email protected]",
"name": "Gabriel",
"car": {
"model": "fusion",
"plate": "AZP-3705"
},
"budget": 200,
"favoritesPlaces": [],
"travelHistoric": []
}
Para adicionar lugares favoritos do usuário utilize a rota abaixo:
Método | endpoint |
---|---|
POST | /users/:userId/favorites?place=<text> |
{
"id": "6155957e-bd2a-4675-bff4-bf10805b422c",
"email": "[email protected]",
"name": "Gabriel",
"car": {
"model": "fusion",
"plate": "AZP-3705"
},
"budget": 200,
"favoritesPlaces": [
{
"id": "1234957e-ad2a-4675-bff4-bf16846b192r",
"name": "Bar do Zé"
}
],
"travelHistoric": []
}
Para receber todas as avaliações de um motorista utilize a rota abaixo:
Método | endpoint |
---|---|
GET | /drivers/:driverId/rating |
{
"id": "101",
"name": "Lucas",
"rating": {
"starsAverage": 5,
"feedbacks": [
{
"id": "1234957e-ad2a-4675-bff4-bf16846b192r",
"start": 5,
"description": "Estava em mal estado, cuidou bem do meu carro, e me levou até minha casa com segurança. Parabéns pelo serviço."
},
{
"id": "26f4969b-33d0-4ee4-95a1-11a1073701ca",
"start": 5,
"description": "Motorista muito profissional."
}
]
}
}
Para avaliar um motorista utilize a rota abaixo:
Método | endpoint |
---|---|
POST | /drivers/:driverId/rating?stars=<numberOfStars>&description=<text> |
{
"message": "Thanks for the feedback :)"
}
Para pedir uma viagem utilize a rota abaixo:
Método | endpoint |
---|---|
POST | /travels/newTravel/users/:userId |
{
"from": "Habbis",
"to": "Bar do zé",
"distance": 30
}
{
"travel": {
"id": "26f4969b-33d0-4ee4-95a1-11a1073701ca",
"from": "Habbis",
"to": "Bar do zé",
"departureDate": "Tue Mar 15 2022 22:46:41 GMT-0300 (Brasilia Standard Time)",
"arrivedDate": "",
"value": 71.48941180343579
},
"driver": {
"id": "101",
"name": "Lucas",
"car": {
"model": "Ford Fiesta",
"plate": "AGH-2679"
},
"rating": {
"starsAverage": 5,
"feedbacks": [
{
"id": "5",
"start": 5,
"description": "Estava em mal estado, cuidou bem do meu carro, e me levou até minha casa com segurança. Parabéns pelo serviço."
}
]
}
},
"user": {
"id": "6155957e-bd2a-4675-bff4-bf10805b422c",
"email": "[email protected]",
"name": "Gabriel",
"car": {
"model": "fusion",
"plate": "AZP-3705"
},
"budget": 200,
"favoritesPlaces": [
{
"id": "1234957e-ad2a-4675-bff4-bf16846b192r",
"name": "Bar do Zé"
}
],
"travelHistoric": [
{
"id": "26f4969b-33d0-4ee4-95a1-11a1073701ca",
"from": "Habbis",
"to": "Bar do zé",
"departureDate": "Tue Mar 15 2022 22:46:41 GMT-0300 (Brasilia Standard Time)",
"arrivedDate": "",
"value": 71.48941180343579
}
]
}
}
Para salvar a hora da chegada utilize a rota abaixo:
Método | endpoint |
---|---|
PUT | /travels/finishTravel/users/:userId?travelid=<travelId> |
{
"travel":{
"id": "d8c96d59-d8b0-4169-b5f2-4aa14b025d7b",
"from": "Habbis",
"to": "casa",
"departureDate": "Tue Mar 15 2022 22:46:41 GMT-0300 (Brasilia Standard Time)",
"arrivedDate": "Tue Mar 15 2022 23:01:11 GMT-0300 (Brasilia Standard Time)",
"value": 71.48941180343579
},
"user": {
"id": "6155957e-bd2a-4675-bff4-bf10805b422c",
"email": "[email protected]",
"name": "Gabriel",
"car": {
"model": "fusion",
"plate": "AZP-3705"
},
"budget": 200,
"favoritesPlaces": [
{
"id": "1234957e-ad2a-4675-bff4-bf16846b192r",
"name": "Bar do Zé"
}
],
"travelHistoric": [
{
"id": "26f4969b-33d0-4ee4-95a1-11a1073701ca",
"from": "Habbis",
"to": "Bar do zé",
"departureDate": "Tue Mar 15 2022 22:46:41 GMT-0300 (Brasilia Standard Time)",
"arrivedDate": "",
"value": 71.48941180343579
}
]
}
}