GoRoutes
Um modelo para o desenvolvimento do Projeto Integrador do Curso de Técnico em Desenvolvimento de Sistemas para a Internet Integrado ao Ensino Médio do IFC - Campus Araquari.
Após dialogarmos com administradores de diversas empresas de transporte escolar, identificamos que o gerenciamento manual das rotas frequentemente se revela um processo moroso e ineficiente, especialmente quando há um grande número de alunos a serem atendidos. Diante desse cenário, nosso sistema foi concebido com o propósito de otimizar essa gestão, oferecendo um serviço automatizado de planejamento de rotas. A solução permite que a empresa insira os endereços dos alunos, bem como os pontos de partida e destino, para então calcular a rota mais eficiente. Além disso, o sistema realiza a distribuição estratégica dos alunos entre diferentes veículos, agrupando aqueles cujos trajetos apresentam maior similaridade.
Professor: Marco André Mendes
- 🚀 BackEnd: GoRoutes_BackEnd
- 🎨 FrontEnd: GoRoutes_FrontEnd
- 📄 Docs: Docs_GoRoutes
- 🎨 ✏️ Figma: GoRoutes Design
Serviço de Rotas
Gerenciamento de Rotas Sobre Transporte de Passageiros
A empresa escolhida foi a Sul Turismo, uma empresa de tranporte de passageiros tanto para turismo quanto transporte escolar; O aplicativo em si foca em algumas coisa, como pontos podemos citar, o rastreamento por parte da empresa e clientes de seu tranporte, ou o transporte de algum familiar, uma boa comunicação, avisar aos motoristas para onde quer ir, avisar os horarios que ele quer retornar ou ir, e um gerenciamento das rotas por parte dos motoristas;
- A empresa escolhida foi a Sul Turismo, uma empresa de transportes escolares e para turismo também, o dono é o
Seu Antonio, e de funcinários temos vários, como motoristas podemos citar [Edimar, Alexander, Borba, Marcos, Edivaldo] entre outros; - A empresa em si nao tem casos e situações complexas. Um cliente, contacta a empresa com o fim de saber valores, planos, portabilidade, e tudo relacionado a isso. A empresa responde e caso seja favorável à ambos, um contrato é fechado, seja por um número
Xde memes por um valorN. Durante o fechamento do contrato é acertado lugar onde o cliente mora, onde deseja ser levado, hórarios, e possiveis eventos que mudem isto, e possiveis outros locais para ser pego ou deixado; - A principal funcao é trazer acessiblidade e facilidade para ambas as partes, tanto para empresa quanto para o cliente, onde a empresa terá uma interface facil para gerenciar, criar, ver rotas e clientes, e para o cliente poder dizer à empresa quando voltará, onde desce, e etc, dados relacionados as rotas diarias.
Alguns pontos importantes a se destacar são:
- Os dois principais focos são 3 funcionalidades,
- Permitir os motoristas selecionar os alunos que irão fazer parte da rota e com base nisso, o sistema traça o melhor caminho baseado na distância entre os pontos de entrega.
- Permitir os clientes ver onde seu transporte está e quanto tempo demora à chegar.
- Permitir com que os clientes facilmente informem se voltarão na remessa de meio dia ou da cinco horas.
- Haverá 3 tipos de usuarios, os motoristas, os clientes, e caso o cliente em si for de menor, haverá um cadastro a mais de seu responsavel como um login;
| Tipo de Usuário | Função |
|---|---|
| Motorista | Gerenciar veículos, criar e visualizar rotas, além de monitorar o transporte em tempo real. |
| Cliente | Informar horários de retorno, visualizar localização do transporte e comunicar-se com a empresa. |
| Responsável | Cadastrar informações do cliente menor de idade e acompanhar o transporte em tempo real. |
- Data de criação: 03/04/2025
- Última alteração: 05/04/2025
- Autor(es): Pedro Henrique, Jonatas Peraza
- Versão: 1.0
- Dependências: Nenhuma
Descrição:
O sistema deverá centralizar o atendimento e a gestão de diferentes perfis de usuários: administradores, motoristas, alunos e responsáveis. Cada tipo de usuário terá acesso somente às funcionalidades autorizadas conforme seu nível de permissão.
- Data de criação: 03/04/2025
- Última alteração: 05/04/2025
- Autor(es): Pedro Henrique, Jonatas Peraza
- Versão: 1.0
- Dependências: RN01
Descrição:
O sistema deverá garantir que apenas usuários autenticados e autorizados possam acessar funcionalidades específicas, respeitando os níveis de permissão definidos por perfil.
- Data de criação: 03/04/2025
- Última alteração: 05/04/2025
- Autor(es): Pedro Henrique, Jonatas Peraza
- Versão: 1.0
- Dependências: Nenhuma
Descrição:
O sistema deverá automatizar os processos logísticos de transporte escolar, incluindo a recomendação e o ajuste inteligente de rotas.
- Data de criação: 03/04/2025
- Última alteração: 05/04/2025
- Autor(es): Pedro Henrique, Jonatas Peraza
- Versão: 1.0
- Dependências: RN02
Descrição:
O sistema deverá calcular automaticamente a melhor rota com base nos endereços dos alunos, priorizando eficiência de tempo, segurança e economia de combustível.
- Data de criação: 03/04/2025
- Última alteração: 05/04/2025
- Autor(es): Pedro Henrique, Jonatas Peraza
- Versão: 1.0
- Dependências: Nenhuma
Descrição:
O sistema deverá assegurar a proteção das informações dos usuários e o cumprimento das normas de segurança e integridade definidas para o transporte.
- Data de criação: 03/04/2025
- Última alteração: 05/04/2025
- Autor(es): Pedro Henrique, Jonatas Peraza
- Versão: 1.0
- Dependências: RN03
Descrição:
Somente usuários com perfil de administrador poderão editar dados considerados críticos, como alterações em rotas, veículos e cadastro de usuários.
- Data de criação: 03/04/2025
- Última alteração: 05/04/2025
- Autor(es): Pedro Henrique, Jonatas Peraza
- Versão: 1.0
- Dependências: Nenhuma
Descrição:
O sistema deverá estar preparado para expansão contínua, suportando aumento de usuários, rotas e registros. Além disso, deverá possuir mecanismos de auditoria detalhada das operações realizadas.
- Data de criação: 03/04/2025
- Última alteração: 05/04/2025
- Autor(es): Pedro Henrique, Jonatas Peraza
- Versão: 1.0
- Dependências: RN04
Descrição:
O sistema deverá manter um log completo e seguro de todas as ações realizadas por qualquer usuário, incluindo edições, exclusões, autenticações e movimentações, para fins de rastreamento e auditoria.
- Descrição: Permite o cadastro, edição, exclusão e visualização de alunos, incluindo dados pessoais e responsáveis.
- Dados necessários: nome, data de nascimento, CPF, foto, endereço, endereço secundário, nomes dos responsáveis, telefone, email.
- Usuários: administradores.
- Descrição: Permite o cadastro, edição, exclusão e visualização de rotas, com origem, destino, paradas e horários.
- Dados necessários: pontos de partida e chegada, paradas intermediárias, horários previstos.
- Usuários: administradores.
- Descrição: Permite o cadastro, edição, exclusão e visualização de motoristas com seus dados pessoais e histórico de rotas.
- Dados necessários: nome, foto, CPF, CNH, telefone, email, rotas atribuídas.
- Usuários: administradores.
- Descrição: Permite o cadastro, edição, exclusão e visualização de veículos.
- Dados necessários: placa, modelo, capacidade de passageiros, status.
- Usuários: administradores.
- Descrição: Permite o cadastro, edição, exclusão e vinculação de responsáveis a alunos, com definição de permissões.
- Dados necessários: nome, foto, CPF, telefone, email, aluno vinculado, permissões de acesso.
- Usuários: administradores.
- Descrição: Registra logs de ações dos usuários como edições, exclusões e acessos.
- Dados necessários: usuário, data/hora, tipo de ação, dados afetados.
- Usuários: todos os níveis (apenas administradores têm acesso aos logs).
- Descrição: Recomenda automaticamente a melhor rota ao cadastrar um novo aluno.
- Dados necessários: endereço do aluno, rotas existentes, geolocalização.
- Usuários: administradores.
- Descrição: Recalcula rotas automaticamente quando houver atualizações relevantes. (Opcional)
- Dados necessários: alterações no cadastro de alunos, veículos ou rotas.
- Usuários: administradores.
- Descrição: Permite definir rotas de backup para uso em situações emergenciais.
- Dados necessários: rotas alternativas, condições de ativação.
- Usuários: administradores.
- Descrição: Permite rastreamento em tempo real dos veículos via GPS. (Opcional)
- Dados necessários: localização atual, identificação do veículo.
- Usuários: administradores, responsáveis, alunos.
- Descrição: Exibe previsão de chegada dos veículos para alunos e responsáveis.
- Dados necessários: localização atual, velocidade média, destino.
- Usuários: administradores, responsáveis, alunos.
- Descrição: Permite registrar presença dos alunos e solicitar retorno antecipado.
- Dados necessários: presença, hora de embarque/desembarque, motivo do retorno.
- Usuários: motoristas (registro), responsáveis e alunos (solicitação).
- Descrição: Permite solicitação de desembarque em local alternativo com autorização do responsável.
- Dados necessários: localização alternativa, responsável autorizado, horário.
- Usuários: responsáveis, administradores.
- Descrição: Envia notificações automáticas para responsáveis sobre mudanças de rota, atrasos ou emergências.
- Dados necessários: tipo de evento, mensagem personalizada, horário.
- Usuários: responsáveis.
- Descrição: Mantém registro completo das rotas realizadas e eventos ocorridos.
- Dados necessários: datas, horários, eventos registrados, presença.
- Usuários: administradores.
- Descrição: Exibe foto e número do veículo para facilitar a identificação.
- Dados necessários: foto do veículo, número identificador, placa, rota vinculada.
- Usuários: responsáveis, alunos.
- Descrição: Impede motoristas de editarem informações de rotas, alunos ou veículos.
- Dados necessários: permissões de acesso.
- Usuários: motoristas.
O sistema deverá armazenar com segurança o histórico completo de rotas e eventos para fins de auditoria.
O sistema deverá contar com mecanismos de redundância para garantir a disponibilidade e a integridade dos dados em caso de falhas.
A interface deverá ser amigável, responsiva e intuitiva, para todos os perfis de usuários.
Deve haver um mapa interativo em tempo real com rotas, paradas e localização dos veículos.
Integração com APIs de geolocalização como Google Maps e Mapbox para rastreamento e cálculo de rotas.
Notificações devem poder ser enviadas via app, e-mail e SMS, de forma automatizada.
O banco de dados será relacional, preferencialmente PostgreSQL ou MySQL, para garantir desempenho e consistência.
As atualizações do sistema devem ocorrer em tempo real, refletindo imediatamente para os usuários.
O sistema deverá ser escalável para suportar crescimento de usuários e dados.
Deverá existir um app móvel nativo ou PWA compatível com Android e iOS.

