case study / system 01

Parking Management Platform

Un ecosistema web, móvil y backend para administrar estacionamientos, reservas, ocupaciones y operaciones de pago desde una API común.

Demo web disponible Full Stack UTP · 2025
architecture / parking.sysstable view
WEB
Next.js
API REST
Node / Express
MOBILE
React Native
JWT
roles
SUPABASE
PostgreSQL
Vercel
deploy
01 / contexto

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.

3repositorios que forman un sistema
2tipos principales de cliente
1API compartida como núcleo

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.

02 / solución

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.

03 / arquitectura

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
Node.jsExpressNext.jsReact NativeTypeScriptSupabasePostgreSQLJWTVercel
04 / decisiones

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.

05 / workflow

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.

06 / evidencia

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.
07 / roadmap

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.