Sistema completo de gerenciamento de veículos, usuários e manutenções, desenvolvido com arquitetura moderna e integração fullstack.
O TransRota é uma aplicação web voltada para o gerenciamento de frotas, permitindo o controle de veículos, usuários e manutenções de forma organizada.
O projeto foi desenvolvido com foco em boas práticas de desenvolvimento, separação de responsabilidades e integração entre backend e frontend.
- Java
- Spring Boot
- Spring Data JPA
- MySQL
- Flyway (migração de banco)
- Swagger/OpenAPI
- Logs estruturados
- React
- Vite
- JavaScript
- CSS
- Cadastro de veículos
- Listagem de veículos ativos
- Edição de dados
- Desativação (exclusão lógica)
- Cadastro de usuários
- Controle por perfil (CHEFE, COMERCIAL, MANUTENCAO)
- Edição e desativação
- Validação de email único
- Registro de manutenção vinculada a veículo
- Atualização de status
- Visualização detalhada
- Filtro e busca
- Login com validação de credenciais
- Controle de acesso por perfil
- Rotas protegidas no frontend
O projeto segue arquitetura em camadas:
- Controller
- Service
- Repository
- DTO (Data Transfer Object)
Além disso:
- Validação com Bean Validation
- Tratamento global de erros
- Exclusão lógica com campo
ativo
O sistema utiliza MySQL local.
- Criar banco:
CREATE DATABASE transrota_db;
2.Configurar no application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/transrota_db
spring.datasource.username=SEU_USUARIO
spring.datasource.password=SUA_SENHA
3. Rodar o backend:
O Flyway criará automaticamente as tabelas.
▶️ Como executar o projeto
🔹 Backend
cd backend
mvnw.cmd spring-boot:run
🔹 Frontend
cd frontend
npm install
npm run dev
Acesse:
http://localhost:5173
📊 Documentação da API
Disponível em:
http://localhost:8080/swagger-ui.html
📁 Estrutura do projeto
backend/
frontend/
docs/
prototipo/
📌 Diagrama
O projeto contém um diagrama de atividades representando o fluxo principal do sistema, disponível na pasta docs.
👨💻 Autor
Desenvolvido por Felipe Rafael Niendicker
📎 Observações
Este projeto foi desenvolvido para fins acadêmicos, mas segue boas práticas que permitem evolução para uso real em produção.