De una necesidad operativa a un sistema conectado
El problema era coordinar la operación de estacionamientos desde distintos puntos: administración de sedes, disponibilidad de espacios, reservas, ingreso y salida de vehículos, pagos y comunicación con el usuario final. El sistema debía servir a perfiles administrativos y a clientes móviles sin duplicar la lógica de negocio.
Usuarios y alcance
Los administradores gestionan parkings, empleados, tarifas y operaciones; los usuarios finales consultan disponibilidad, reservan espacios y revisan su información desde la app móvil. El panel web concentra la operación y la app móvil representa el flujo del cliente.
Un núcleo backend para múltiples experiencias
Gestión operativa
Parkings, espacios, tarifas, empleados, usuarios y estados operativos desde el panel administrativo.
Reservas y ocupaciones
Flujos para comprobar disponibilidad, crear reservas, registrar entrada/salida y controlar estados.
Pagos y comprobantes
Modelos y rutas para pagos, métodos de pago, comprobantes virtuales y trazabilidad de operaciones.
Notificaciones
El backend contempla notificaciones y servicios de correo como parte de la evolución del sistema.
Separación por clientes y responsabilidades
La plataforma se organiza como tres repositorios relacionados. El backend concentra autenticación, reglas de negocio, migraciones y persistencia; los clientes consumen sus endpoints según el contexto de uso.
front-web-parking Next.js + TypeScript + Tailwind │ ├── Axios / auth guard / role-based UI │ api-nodejs-parking Node.js + Express + JWT │ ├── controllers / routes / services / jobs ├── migrations / RLS / SQL verification │ front-movil React Native + TypeScript │ └── auth / maps / reservations / user flows Supabase / PostgreSQL relational persistence + managed service
Decisiones técnicas relevantes
- Usar una API común evita duplicar reglas entre el panel web y la aplicación móvil.
- El modelo relacional permite expresar relaciones entre usuarios, parkings, espacios, reservas, ocupaciones, pagos y comprobantes.
- Las migraciones SQL versionadas documentan la evolución del esquema y las correcciones de políticas.
- La separación por clientes facilita evolucionar cada experiencia sin convertir el backend en una dependencia de la interfaz.
- Las variables de entorno mantienen separadas las configuraciones locales, de prueba y de despliegue.
Mi participación
Trabajé en la evolución e integración de los repositorios públicos del ecosistema, conectando el backend con los clientes web y móvil y documentando los cambios de datos y flujo operativo.
IA como herramienta de ingeniería
El desarrollo se realizó mediante un flujo asistido por IA para analizar requerimientos, explorar alternativas, implementar, depurar y documentar. La evidencia pública más concreta son las instrucciones versionadas de GitHub Copilot presentes en el backend y la aplicación móvil.
Contexto persistente
Las instrucciones del repositorio ayudan a mantener convenciones y contexto técnico durante la evolución.
Responsabilidad técnica
La IA aceleró el ciclo, pero las decisiones, revisiones y validación del funcionamiento permanecieron bajo mi responsabilidad.
Validación, despliegue y límites
- El repositorio incluye documentación de verificación, scripts de prueba y migraciones para reproducir cambios del backend.
- El panel web cuenta con una demo pública desplegada en Vercel.
- Supabase/PostgreSQL se utiliza como servicio administrado y las configuraciones se manejan mediante variables de entorno.
- La experiencia de despliegue de la API en Azure forma parte de mi trayectoria, pero el workflow histórico de sincronización entre repositorios no está actualmente expuesto como evidencia pública.
- No presento Docker, Kubernetes, Terraform u observabilidad como experiencia demostrada por este proyecto porque no hay evidencia pública suficiente en los repositorios revisados.
Próxima etapa
La evolución natural es consolidar una especificación OpenAPI, ampliar pruebas automatizadas, documentar el flujo de despliegue y separar con más claridad los módulos de operación, reservas y facturación.