O Busu é uma solução de transporte intermunicipal que atende bairros mais afastados do centro. Nosso principal objetivo é levar um veículo de oportunidades com um valor justo para todxs em suas locomoções diárias. O usuário contará com a aplicação para ver rotas, horários, detalhes do carro e também reservar seu ticket de embarque. Queremos mudar a realidade de milhares de famílias que não têm transporte digno e acessível em seus bairros/comunidades.
📁 busu
|
|- 📁 src
| |
| |- 📁 auth
| |- 📄 auth.js
|
| |- 📁 config
| |- 📄 database.js
|
| |- 📁 controller
| |- 📄 ticketController.js
| |- 📄 userController.js
| |- 📄 viagemController.js
|
| |- 📁 database
| |- 📄 busuDatabase.js
|
| |- 📁 model
| |- 📄 ticketModel.js
| |- 📄 userModel.js
| |- 📄 viagemModel.js
|
| |- 📁 routes
| |- 📄 index.js
| |- 📄 ticketRoutes.js
| |- 📄 userRoutes.js
| |- 📄 viagemRoutes.js
|
|
|- 📄 .env
|- 📄 .env.example
|- 📄 .gitignore
|- 📄 LICENSE
|- 📄 package
|- 📄 Procfile
|- 📄 server.js
Método | Rota | Descrição |
---|---|---|
GET | /busu |
Página de boas vindas |
POST | /user/signup |
Página para criar cadastro |
POST | /user/signin |
Página para fazer login com autenticação |
GET | /viagem/all |
Retorna todas as viagens. |
GET | /viagem/:id |
Retorna viagens filtradas por id. |
POST | /ticket/create |
Gera o ticket de embarque. |
PUT | /ticket/update/:id |
Encontra o ticket a partir de um parâmetro e edita dado. |
DELETE | /ticket/remove/:id |
Deleta um dado a partir de um parâmetro. |
//corpo do usuário para fazer o cadastro
{
"nome": "Angela Davis",
"email": "angeladavis@gmail.com",
"senha": "poderaopovo"
}
//corpo para o usuário fazer login
{
"email": "angeladavis@gmail.com",
"senha": "poderaopovo"
}
//JSON da viagem
{
"destino": "Ipatinga",
"placa_do_carro": "GMOFS08",
"cor_do_carro": "cinza",
"horario": "17h00",
"locais_para_embarque": [
"Avenida João Valentim Pascoal, 955",
"Câmara Municipal De Ipatinga",
"Avenida João Valentim Pascoal, 829",
"Avenida João Valentim Pascoal, 637",
"Terminal Rodoviário De Ipatinga",
"Avenida João Valentim Pascoal, 255",
"Avenida João Valentim Pascoal, 135",
"Avenida Cláudio Moura - Acesso Ao Bairro Castelo"
],
"locais_para_desembarque": [
"Altivo Machado dos Reis, 505",
"Rua Altivo Machado dos Reis, 299",
"Rua Pouso Alegrem, 451",
"Rua Benedito José de Souza, 168",
"Rua Olivia Rodrigues Viera, 268",
"Rua dos esportes, 51, em frente ao campo de futebol",
"Rua Itabira, 443 (av dois)",
"Praça Padre Jose Lanzilotd, 102 Ipaba"
],
"tempo_estimado_da_viagem": "25min",
"nome_do_motorista": "Guilherme Benedito",
"preco_da_passagem": "R$3,80"
}
//corpo da requisição para gerar o ticket de embarque
{
"nome": "Angela Davis",
"data_da_viagem": "2020-01-21T03:00:00.000Z",
"viagemId": "5fd2808063dba433a474ae35"
}
// ticket de embarque
{
"message": "Ticket gerado com sucesso! ",
"response": {
"id": "5fd42131cdf85b23b4884b89",
"nome": "Angela Davis",
"data_da_viagem": "2020-12-12T00:00:00.000Z",
"destino": "Ipaba",
"horario": "7h05",
"placa_do_carro": "BAE4T25",
"locais_para_embarque": [
"Avenida João Valentim Pascoal, 955",
"Câmara Municipal De Ipatinga",
"Avenida João Valentim Pascoal, 829",
"Avenida João Valentim Pascoal, 637",
"Terminal Rodoviário De Ipatinga",
"Avenida João Valentim Pascoal, 255",
"Avenida João Valentim Pascoal, 135",
"Avenida Cláudio Moura - Acesso Ao Bairro Castelo"
],
"locais_para_desembarque": [
"Altivo Machado dos Reis, 505",
"Rua Altivo Machado dos Reis, 299",
"Rua Pouso Alegrem, 451",
"Rua Benedito José de Souza, 168",
"Rua Olivia Rodrigues Viera, 268",
"Rua dos esportes, 51, em frente ao campo de futebol",
"Rua Itabira, 443 (av dois)",
"Praça Padre Jose Lanzilotd, 102 Ipaba"
]
}
Acesse o link https://app-busu.herokuapp.com/busu
A vontade de dar vida ao Busu é real e necessária, por isso, ele ainda tem muito o que desenvolver em suas próximas versões.
- Contar quantidade de assentos disponíveis na viagem;
- QR code para ticket único;
- Acesso do administrador;
- Controle de acesso;
- Implementar meios de pagamento pelo app;
- Acompanhar rota em tempo real;
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Aplicação desenvolvida como projeto final do bootcamp de backend da {reprograma}.