Um projeto full stack inovador para um GPS funcional e interativo, especialmente desenvolvido para caminhões e veículos de carga. O sistema adapta rotas considerando as dimensões do veículo, oferecendo sistemas de cadastro, login e verificação automatizada de rodovias.
Participante de: FEBRACE 2026
RoadHelp é um projeto full stack desenvolvido como trabalho em grupo focado em inovação tecnológica. O sistema oferece:
- ✅ Cadastro e Login Seguro - Autenticação com JWT e senhas criptografadas
- ✅ GPS Adaptativo - Cálculo de rotas baseado nas dimensões do veículo
- ✅ Interface Responsiva - Aplicação web progressiva (PWA)
- ✅ Banco de Dados Robusto - Integração com MongoDB e Prisma ORM
- ✅ Mapas Interativos - Visualização de rotas com MapLibre GL JS e TomTom API
Frontend:
- HTML5 / CSS3
- JavaScript
- React
- Vite
- MapLibre GL JS
- TomTom API
Backend:
- Node.js
- Express.js
- JWT (JSON Web Tokens)
- Bcrypt (Criptografia de senhas)
- Prisma Client
- MongoDB
Ferramentas:
- Git / GitHub
- npm
Antes de começar, certifique-se de ter instalado:
- Node.js (v14 ou superior)
- npm (gerenciador de pacotes)
- MongoDB (rodando localmente ou em nuvem)
- Git
git clone https://github.com/GustavoSilva-dev/RoadHelp-Project
cd RoadHelp-Project# Acesse a pasta do servidor
cd "Projeto FeCEAP - Server"
# Instale as dependências
npm install
# Gere as dependências do Prisma Client
npx prisma generate
# Crie o arquivo .env (veja a seção de Configuração)
# Edite o arquivo .env com suas credenciais
# Dê permissão ao seu IP no MongoDB Atlas (se usar nuvem)
# Verifique o IP no arquivo server.js e na configuração do Frontend
# Inicie o servidor
node --watch server.jsO backend rodará em: http://localhost:3050
# Abra outro terminal na raiz do projeto
cd Road-Help-Project
# Instale as dependências
npm install
# Inicie o servidor de desenvolvimento
npm run devO frontend rodará em: http://localhost:5173 (ou conforme indicado no terminal)
RoadHelp-Project/
├── Projeto FeCEAP - Server/ # Backend (Node.js + Express)
│ ├── server.js # Servidor principal
│ ├── .env.example # Exemplo de variáveis de ambiente
│ ├── package.json
│ └── prisma/
│ └── schema.prisma # Schema do banco de dados
│
├── Road-Help-Project/ # Frontend (React + Vite)
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── App.jsx
│ │ └── main.jsx
│ ├── package.json
│ └── vite.config.js
│
└── README.md
| Método | Endpoint | Descrição | Requer Autenticação |
|---|---|---|---|
POST |
/login |
Faz login do usuário | ❌ |
POST |
/users |
Registra um novo usuário | ❌ |
| Método | Endpoint | Descrição | Requer Autenticação |
|---|---|---|---|
GET |
/users |
Lista todos os usuários | ❌ |
GET |
/user/:id |
Obtém dados de um usuário específico | ✅ |
POST /users
Content-Type: application/json
{
"email": "usuario@email.com",
"name": "Nome do Usuário",
"password": "senha123",
"v_name": "Volvo FH16",
"v_height": 3.5,
"v_width": 2.6,
"v_length": 16.5
}POST /login
Content-Type: application/json
{
"email": "usuario@email.com",
"password": "senha123"
}Resposta (sucesso):
{
"exists": true,
"existsP": true,
"name": "Nome do Usuário",
"v_name": "Volvo FH16",
"v_height": 3.5,
"v_width": 2.6,
"v_length": 16.5,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}GET /user/USER_ID
Authorization: Bearer TOKEN_JWTCrie um arquivo .env na pasta Projeto FeCEAP - Server com as seguintes variáveis:
# Porta do backend
PORT=3050
# Chave secreta para JWT
SECRET=sua_chave_secreta_aqui
# Conexão com MongoDB
DATABASE_URL=mongodb+srv://usuario:senha@cluster.mongodb.net/roadhelp?retryWrites=true&w=majority
# CORS (URL do frontend)
FRONTEND_URL=http://localhost:5173
# TomTom API (se usar)
TOMTOM_API_KEY=sua_chave_de_api_tomtomCrie um arquivo .env na pasta Road-Help-Project:
# URL da API Backend
VITE_API_URL=http://localhost:3050
# TomTom API Key
VITE_TOMTOM_API_KEY=sua_chave_de_api_tomtom- Gustavo Silva - Desenvolvedor Full Stack (Front-End + Back-End)
- Jefferson dos Santos - Desenvolvedor Front-End
- Thiago Paes Moreira - Desenvolvimento e Integração com APIs de Geolocalização
- Marcos Rodrigues - Suporte de Desenvolvimento
- Akon Nogueira - Suporte de Desenvolvimento
- Eduardo Santos Lúcio - Pesquisa
Desenvolvido com ❤️ para FEBRACE 2026