Sistema web completo de seguimiento y gestión de vehículos y maquinaria mediante GPS. Incluye mapa en vivo, historial de recorridos, geocercas, eventos, bitácora y reportes.
- Node.js 18+
- npm 9+
# Backend
cd backend
npm install
# Frontend
cd ../frontend
npm install# Backend
cp .env.example .env
# Editar .env con tus configuraciones
# Frontend
cp .env.example .env
# Agregar tu API key de Google MapsEl proyecto usa SQLite (listo para migrar a PostgreSQL en producción).
cd backend
npx prisma db push
npx prisma db seed# Backend (puerto 3001)
cd backend
npm run dev
# Frontend (puerto 5173)
cd frontend
npm run dev- Email:
admin@demo.com - Password:
demo123
| Variable | Descripción | Default |
|---|---|---|
| DATABASE_URL | URL de conexión a la base de datos | file:./dev.db |
| PORT | Puerto del servidor | 3001 |
| NODE_ENV | Entorno | development |
| JWT_SECRET | Secreto JWT | demo-jwt-secret |
| Variable | Descripción |
|---|---|
| VITE_GOOGLE_MAPS_API_KEY | API key de Google Maps JavaScript |
| VITE_API_URL | URL de la API backend |
- Ir a https://console.cloud.google.com
- Habilitar "Maps JavaScript API"
- Crear una API key
- Agregarla en
frontend/.env
Si no se configura, la aplicación funciona con fallback visual sin mapa.
frontend/ React + Vite + TypeScript + Tailwind
backend/ Express + TypeScript + Prisma
prisma/ Schema + Seed
src/
controllers/ Lógica de endpoints
services/ Lógica de negocio
routes/ Definición de rutas
middleware/ Error handling
GET /api/dashboard- Estadísticas del panelGET /api/vehicles- Lista de vehículosGET /api/vehicles/:id- Detalle de vehículoGET /api/machines- Lista de maquinariaGET /api/machines/:id- Detalle de maquinariaGET /api/gps/:id/tracking- Tracking históricoGET /api/events- Lista de eventosGET /api/geofences- Lista de geocercasGET /api/reports/daily- Reporte diarioPOST /api/commands/engine-stop- Comando paro de motor
La arquitectura está diseñada para conectar GPS físicos posteriormente:
- Los datos de GPS pasan por una capa de normalización
- La lógica de negocio no depende del protocolo GPS
- Endpoint
POST /api/gps/ingestlisto para receptor TCP/UDP - Compatible con protocolos: GPS103, Teltonika, Queclink