## Backend Changes - Add new API endpoints: combustible, pois, mantenimiento, video, configuracion - Fix vehiculos endpoint to return paginated response with items array - Add /vehiculos/all endpoint for non-paginated list - Add /geocercas/all endpoint - Add /alertas/configuracion GET/PUT endpoints - Add /viajes/activos and /viajes/iniciar endpoints - Add /reportes/stats, /reportes/templates, /reportes/preview endpoints - Add /conductores/all and /conductores/disponibles endpoints - Update router.py to include all new modules ## Frontend Changes - Fix authentication token handling (snake_case vs camelCase) - Update vehiculosApi.listAll to use /vehiculos/all - Fix FuelGauge component usage in Combustible page - Fix chart component exports (named + default exports) - Update API client for proper token refresh ## Infrastructure - Rename services from ADAN to ATLAS - Configure Cloudflare tunnel for atlas.consultoria-as.com - Update systemd service files - Configure PostgreSQL with TimescaleDB - Configure Redis, Mosquitto, Traccar, MediaMTX ## Documentation - Update installation guides - Update API reference - Rename all ADAN references to ATLAS Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
8.7 KiB
8.7 KiB
Sistema de Monitoreo de ATLAS GPS + IA
Resumen Ejecutivo
Sistema completo de monitoreo de atlas vehiculares con rastreo GPS en tiempo real, video streaming, integración con dispositivos Meshtastic, y app móvil para conductores. Diseñado para escala pequeña (1-20 vehículos) con arquitectura preparada para crecimiento futuro.
Fecha: 2026-01-21 Estado: Pendiente de aprobación
Decisiones de Diseño
| Aspecto | Decisión |
|---|---|
| Escala inicial | Pequeña (1-20 vehículos) |
| Dispositivos GPS | Traccar-compatible (protocolo abierto) |
| Meshtastic | Módulo experimental/opcional |
| App móvil | React Native para conductores |
| Despliegue | VM única en Proxmox (Ubuntu 22.04) |
| Acceso web | Cloudflare Zero Trust Tunnel |
| GPS hardware | Puerto TCP 5055 abierto |
| IA/ML | Básico ahora, arquitectura preparada |
| Backend | Python/FastAPI |
| Frontend | React + TypeScript + TailwindCSS |
| Base de datos | PostgreSQL + TimescaleDB |
| Cache | Redis |
| Video | MediaMTX (RTSP/WebRTC/HLS) |
| Usuarios | Solo admin (sin multi-tenant) |
Arquitectura General
┌─────────────────────────────────────────────────────────────────┐
│ PROXMOX - VM ÚNICA │
│ (Ubuntu 22.04 LTS) │
│ RAM: 4-8GB | CPU: 4 cores │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ CLOUDFLARED (Tunnel) │ │
│ │ atlas.tudominio.com → localhost │ │
│ └─────────────────────┬───────────────────────────────────┘ │
│ │ │
│ ┌──────────────┴──────────────┐ │
│ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ │
│ │ React │ │ FastAPI │ │
│ │ Frontend │ │ Backend │ │
│ │ :3000 │ │ :8000 │ │
│ └───────────┘ └─────┬─────┘ │
│ │ │
│ ┌─────────────┤ │
│ ▼ ▼ │
│ ┌───────────┐ ┌─────────────────────────┐ │
│ │ Traccar │ │ PostgreSQL + TimescaleDB │ │
│ │ Server │ │ Redis │ │
│ │ :5055 ◄──┼──┼─────────────────────────┘ │
│ └─────┬─────┘ │ │
│ │ │ │
└────────┼────────┼──────────────────────────────────────────────┘
│ │
▼ │
┌──────────┐ │
│ PUERTO │ │ Cloudflare Tunnel (HTTPS)
│ TCP 5055 │ │
│ (abierto)│ │
└────┬─────┘ │
│ │
▼ ▼
📡 GPS 📱 App 📻 Meshtastic 💻 Dashboard
Hardware Móvil (opcional) Admin
Modelo de Datos
Tablas Principales
- vehiculos - Información de vehículos
- conductores - Datos de conductores
- dispositivos - GPS y dispositivos asociados
- ubicaciones (HYPERTABLE) - Posiciones GPS
- viajes - Registro de viajes
- paradas - Paradas durante viajes
- alertas - Sistema de alertas
- geocercas - Zonas geográficas
- pois - Puntos de interés
- cargas_combustible - Registro de cargas
- mantenimientos - Programación de mantenimiento
- camaras - Cámaras de video
- grabaciones - Videos almacenados
- eventos_video - Eventos detectados en video
- mensajes - Comunicación admin-conductor
- configuracion - Configuración del sistema
- audit_log - Logs de auditoría
API Endpoints
Principales
/api/v1
├── /auth → Autenticación JWT
├── /vehiculos → CRUD vehículos
├── /conductores → CRUD conductores
├── /ubicaciones → Recepción GPS + WebSocket
├── /viajes → Gestión y replay de viajes
├── /alertas → Centro de alertas
├── /geocercas → Gestión de geocercas
├── /pois → Puntos de interés
├── /combustible → Registro de cargas
├── /mantenimiento → Programación servicios
├── /video → Streaming y grabaciones
├── /reportes → Generación de reportes
├── /meshtastic → Integración mesh (opcional)
└── /configuracion → Settings del sistema
/ws/v1
├── /ubicaciones → Stream tiempo real
├── /alertas → Notificaciones push
└── /video/{id} → Señalización WebRTC
Interfaces de Usuario
Dashboard Web
- Login - Autenticación con tema oscuro
- Dashboard - KPIs, mapa resumen, alertas, actividad
- Mapa - Vista tiempo real con filtros y capas
- Flota - Cards/tabla de vehículos y conductores
- Detalle vehículo - Info completa, viajes, estadísticas
- Alertas - Centro de gestión de alertas
- Video - Grid de cámaras en vivo
- Grabaciones - Búsqueda y reproducción
- Viajes - Lista y replay con video sincronizado
- Geocercas - Editor visual en mapa
- Reportes - Generación y programación
- Configuración - Settings del sistema
App Móvil (Conductores)
- Login - Por teléfono + código
- Home - Estado, botón iniciar viaje, resumen
- Viaje activo - Mapa, próxima parada, controles
- Paradas - Registro con tipo y notas
- Combustible - Registro de cargas
- Mensajes - Comunicación con admin
- Emergencia - Botón SOS
- Perfil - Estadísticas y configuración
- Cámara - Dashcam opcional
Seguridad
- JWT con refresh tokens (24h / 7 días)
- API keys únicas por dispositivo
- Rate limiting (100 req/min general, 1 req/seg ubicaciones)
- Headers de seguridad (CSP, HSTS, X-Frame-Options)
- Passwords hasheados con bcrypt
- Datos sensibles encriptados (Fernet)
- Logs de auditoría completos
- Firewall UFW + Fail2ban
- Cloudflare WAF y DDoS protection
Despliegue
Requisitos Mínimos VM
- CPU: 4 cores
- RAM: 8 GB
- Disco Sistema: 60 GB SSD
- Disco Videos: 2 TB HDD
- OS: Ubuntu 22.04 LTS
Servicios
atlas-api.service- Backend FastAPIatlas-web.service- Frontend Reacttraccar.service- Servidor GPSmediamtx.service- Streaming videocloudflared.service- Tunnel Cloudflarepostgresql.service- Base de datosredis.service- Cache
Puertos
- 5055/TCP (abierto) - GPS devices
- 5432 (interno) - PostgreSQL
- 6379 (interno) - Redis
- 8000 (interno) - API
- 3000 (interno) - Frontend
- 8554/8888/8889 (interno) - Video
Entregables
- Código fuente completo (backend, frontend, mobile)
- Scripts de instalación automatizada
- Configuraciones de servicios
- Documentación técnica completa
- Guías de usuario (admin y conductor)
- API Reference
Repositorio
URL: https://git.consultoria-as.com Nombre: atlas
Aprobación
- Arquitectura aprobada
- Modelo de datos aprobado
- Diseño de interfaces aprobado
- Plan de despliegue aprobado
- Listo para implementación