AutoGo
Sistema de gestión interno
AutoGo
—
—
10
Vehículos
1
Vendido
9
Disponibles

Vehículos en Inventario

Haz clic en cualquier vehículo para ver fotos, expediente y detalles completos.

⚡ Módulos y Endpoints API

9 routers · Smoke test 8 mayo 2026: 11/11 ✅ · precio_venta/compra confirmados

🔐Autenticación✅
POST/auth/login
GET/auth/me
JWT + bcrypt · Fix sub→email
🚗Vehículos✅
GET/vehicles/
POST/vehicles/
GET/vehicles/{id}
PATCH/vehicles/{id}
DEL/vehicles/{id}
precio_venta + precio_compra · GET/{id} fix
📸Fotos✅
POST/fotos/
GET/fotos/{vehiculo_id}
DEL/fotos/{foto_id}
Reescrito completo · auth ADMIN/VENDEDOR
💰Ventas + Pagos✅
POST/sales/
GET/sales/
POST/sales/{id}/payments
Pagos parciales · Fix vehiculo
🧾Costos✅
POST/costos/
GET/costos/vehiculo/{id}
DEL/costos/{id}
📋Trámites✅
POST/tramites/
GET/tramites/vehiculo/{id}
PATCH/tramites/{id}/estado
TRASPASO · PLACA · SEGURO · OTRO
👥Usuarios✅
GET/usuarios/
POST/usuarios/
PATCH/usuarios/{id}
Roles: ADMIN · VENDEDOR · OBSERVADOR
📊Reportes✅
GET/reportes/ventas
GET/reportes/rentabilidad
GET/reportes/exportar/{tipo}
Export CSV + XLSX
🌐Catálogo Público✅
GET/catalogo
Sin auth · filtros · Fix Starlette 1.0

🔧 Fixes Aplicados

7–8 mayo 2026 · De 0 a 11/11 endpoints operativos.

1
.env + SECRET_KEY unificado
SECRET_KEY hardcodeado en dos archivos con valores distintos. Ahora lee desde .env. Creado .env.example para Railway.
security.py.env.env.example
2
Modelo Foto + fotos.py reescrito
Router importaba Photo inexistente → crash en startup. Tabla real es fotos. Router reescrito.
models.pyrouters/fotos.py
3
Columna rol/role + login roto
BD tiene "rol", modelo usaba "role". JWT guardaba id pero validación buscaba email. Token siempre inválido.
models.pyrouters/login.pyschemas/usuarios.py
4
ventas → sales + referencias inválidas
Dos tablas. Migrado registro. Fix: v.price→sale_price, sale.vehicle→sale.vehiculo, created_at→sale_date.
models.pyrouters/sales.pyrouters/reportes.py
5
database.py + TemplateResponse + GET/{id}
DATABASE_URL hardcodeado → ahora desde entorno. Starlette 1.0 TemplateResponse fix. GET/{id} estaba comentado. Dockerfile PORT fix.
database.pycatalogo.pyvehicles.pyDockerfile
6
precio_venta + precio_compra + schemas
Columnas faltaban en BD y schemas. ALTER TABLE, precios cargados. schemas/__init__.py VehicleRead actualizado.
autogo.dbmodels.pyschemas/__init__.py

🚂 Deploy en Railway

Código listo. Pasos pendientes en Railway:

✅
Código listo para deploy
Procfile correcto · Dockerfile con PORT dinámico · 11/11 smoke tests pasando
1️⃣
Agregar variables de entorno en Railway
Railway → Variables:
SECRET_KEY=clave-segura-larga
DATABASE_URL=sqlite:///./autogo.db # o PostgreSQL URL
DEBUG=false
⚠️
SQLite Volume vs PostgreSQL
SQLite: Configurar Volume en Railway, montar en /app/autogo.db
PostgreSQL (recomendado): Railway tiene addon gratuito. Solo cambiar DATABASE_URL.
2️⃣
git push → deploy automático
git add -A → git commit -m "estabilización completa" → git push origin main

🗂 Mapa de Archivos

Verde = activo · Tachado rojo = deprecado · Amarillo = ordenar

✅ Activos

📄 autogo_erp/main.py · database.py · models.py · security.py
📄 autogo_erp/schemas/__init__.py · vehicle.py · usuarios.py VehicleRead actualizado
📄 autogo_erp/routers/catalogo.py · fotos.py · login.py · reportes.py · sales.py · vehicles.py
📄 autogo_erp/routers/costos.py · tramites.py · usuarios.py
🗄 autogo.db precio_venta/compra · 5 usuarios
🐳 Dockerfile · Procfile · .env.example · .gitignore
📁 _bitacora/ ESTADO_PROYECTO.md · USUARIOS.md · sesiones

🗑 Deprecados

📄 autogo_erp/auth.py · config.py · app.py · views.py · photo.py
📄 autogo_erp/models_costos.py · models_costs.py · schemas.py
📄 autogo_erp/routers/gallery.py · photos.py
📄 *.bak_* (×9+) · main.py.bak

⚠️ Ordenar

📄 main.py (raíz) · schemas.py (raíz) no son el entrypoint

👥 Gestión de Usuarios

Solo visible para Super Admin. Agrega usuarios, edita datos y cambia contraseñas.

Usuario
Si lo dejas vacío se usará usuario@autogo.com
Dejar en blanco para no cambiar la contraseña actual.
—
➕ Agregar Vehículo
📷
Clic o arrastra fotos aquí
* Máximo 10 fotos por vehículo
📄 Documentos Oficiales
Registro Único Vehicular (RUV) ⏳ Pendiente
Revisado ⏳ Pendiente
🛡️ Seguro
Póliza (PDF o imagen) ⏳ Pendiente
Fecha de vencimiento
💸 Desglose de Costos de Entrada
Trámites
Placa + Revisado
Mecánica — Mano de Obra
Mecánica — Materiales / Repuestos
Chapistería / Estética
Llantas, Alineación y Balance
Detailing
Papel Ahumado
Reparación de Rines
PanaPass — Saldo al Recibir
Informativo, no suma al costo
PanaPass — Gasto Activación/Recarga
📊 Resumen de Inversión