El Desafío
Convertir el parking en una experiencia de alta densidad y baja fricción: disponibilidad en tiempo real, confianza visual y cero ambigüedad operativa.
Stack Tecnológico
TypeScript01
SonarCloud02
NestJS03
Docker04
Quality Gate de Precisión
Pipelines con SonarCloud, validaciones de cobertura y disciplina técnica para mantener una base de código que escala sin perder control.
Estado en Tiempo Real
Optimistic Locking para reservar plazas sin colisiones, con cambios atómicos y reflejo inmediato en el panel operativo.
parking.service.ts — Reservation Core
// parking.service.ts — Optimistic Locking
@Injectable()
export class ParkingService {
async reserveSpot(spotId: string, userId: string, currentVersion: number) {
const result = await this.db.spots.updateOne(
{ _id: spotId, version: currentVersion, status: 'AVAILABLE' },
{ $set: { status: 'OCCUPIED', reservedBy: userId, reservedAt: new Date() }, $inc: { version: 1 } }
);
if (result.modifiedCount === 0) throw new ConcurrencyException('Spot already updated');
return { ok: true, spotId, reservedBy: userId };
}
}Conclusión del Proyecto
Escala con Elegancia
Sistema preparado para crecer con auditorías automáticas, métricas claras y una experiencia limpia en cada interacción.