⚠️ Importante: Certifique-se de que o MySQL está
instalado e rodando antes de continuar.
1 Criar Banco de Dados
Escolha uma das opções abaixo:
📊 Opção A: MySQL Workbench (Recomendado)
- Abra o MySQL Workbench
- Conecte ao servidor MySQL (localhost, usuário: root)
- Clique em File → Open SQL Script
- Selecione o arquivo
database.sql - Clique no ícone de raio ⚡ para executar
💻 Opção B: PowerShell
Execute no PowerShell (na pasta do projeto):
# Se o MySQL estiver no PATH do sistema:
mysql -u root -p@Ntonio010111 < database.sql
# Ou apenas crie o banco primeiro:
mysql -u root -p@Ntonio010111 < create-database-only.sql
mysql -u root -p@Ntonio010111 < database.sql
# Ou apenas crie o banco primeiro:
mysql -u root -p@Ntonio010111 < create-database-only.sql
🛠️ Opção C: Execução Manual
Copie e execute no MySQL Workbench ou similar:
CREATE DATABASE IF NOT EXISTS mapa CHARACTER SET utf8mb4;
USE mapa;
USE mapa;
Depois execute todo o conteúdo do arquivo
database.sql
2 Instalar Dependências
Execute no PowerShell na pasta do projeto:
npm install
3 Iniciar o Servidor
Execute no PowerShell:
npm start
✓ O servidor estará disponível em:
http://localhost:3000
4 Importar Dados Iniciais (Opcional)
Para importar os dados do arquivo veiculos.json:
🔷 PowerShell
$json = Get-Content veiculos.json -Raw
Invoke-RestMethod -Uri "http://localhost:3000/api/veiculos" `
-Method Post -Body $json -ContentType "application/json"
Invoke-RestMethod -Uri "http://localhost:3000/api/veiculos" `
-Method Post -Body $json -ContentType "application/json"
🟢 Node.js
node import.js
🔧 Teste com Dados de Exemplo
Ou acesse a API manualmente pelo navegador/Postman:
POST http://localhost:3000/api/veiculos
Content-Type: application/json
Body: [conteúdo do veiculos.json]
Content-Type: application/json
Body: [conteúdo do veiculos.json]
🐛 Problemas Comuns
- Erro: Unknown database 'mapa' → O banco não foi criado. Execute o database.sql
- Erro: Access denied → Verifique usuário e senha no arquivo .env
- Mapa não carrega → Verifique se o servidor está rodando e acesse F12 para ver erros
- Sem internet → O mapa usa tiles online do OpenStreetMap (requer internet)
✨ Funcionalidades do Sistema
- 🗺️ Mapa interativo com localização em tempo real
- 🔍 Filtro de busca por placa
-
🎨 Marcadores coloridos por status:
- 🟢 Verde: Últimos 5 minutos
- 🟡 Amarelo: Últimos 15 minutos
- 🟠 Laranja: Últimos 30 minutos
- 🔴 Vermelho: Mais de 1 hora
- 🔄 Atualização automática a cada 1 minuto
- 📊 Estatísticas em tempo real