Todos los proyectos
FULL STACKJan 2024 – Apr 20246 min de lectura

Sublime — Plataforma de e-ticketing

Plataforma de venta de entradas con procesamiento seguro de pagos y gestión de cuentas de usuario — construida con Django y Docker.

PythonDjangoDockerPostgreSQLStripeGitHub ActionsCI/CD

Resumen

Sublime es una plataforma integral de venta de entradas diseñada para usabilidad, seguridad y escalabilidad. Incluye descubrimiento de eventos, procesamiento seguro de pagos y gestión de cuentas de usuario. Construida como parte de un Associate con The University of British Columbia, usando una metodología híbrida Waterfall–Agile que combinó planificación estructurada con sprints iterativos.

El problema

Las plataformas de ticketing existentes cobran comisiones altas y ofrecen poca personalización para eventos organizados por estudiantes. Los organizadores de eventos universitarios necesitaban una solución full-stack auto-hospedada con procesamiento real de pagos, gestión de eventos y una interfaz de admin adecuada — sin pagar comisiones de Eventbrite.

Preguntas abordadas

  1. 01

    ¿Cómo implementar procesamiento seguro de pagos que cumpla estándares PCI sin un equipo de seguridad dedicado?

  2. 02

    ¿Cómo diseñar el flujo de descubrimiento de eventos para que visitantes casuales se conviertan en compradores de entradas en menos de 3 clics?

  3. 03

    ¿Cuál es la interfaz de admin mínima viable que permite a organizadores de eventos no técnicos gestionar sus eventos de forma independiente?

Metodología

Fase 1

Arquitectura del sistema — Django + Docker

Diseñé e implementé el sistema con el framework Django y gestioné la containerización con Docker para un entorno consistente entre desarrollo y despliegue. Seguí la metodología híbrida de Ingeniería de Software de Ian Sommerville: Waterfall para decisiones de arquitectura, Agile para ciclos de desarrollo de features.

PythonDjangoDockerPostgreSQL
Fase 2

Desarrollo de features e integración de pagos

Lideré desarrollo de features, corrección de bugs y mejoras, asegurando calidad de código y adherencia a estándares del proyecto. Integré Stripe para procesamiento de pagos con manejo de webhooks para confirmación de compra. Construí autenticación segura de usuarios con acceso basado en roles (asistente, organizador, admin).

StripeDjango AuthHTMLCSSJavaScript
Fase 3

Testing y CI/CD

Implementé tests unitarios e de integración para asegurar confiabilidad y mínimo downtime durante periodos pico de eventos. Configuré pipeline CI/CD para tests automatizados en cada commit. Alcanzé más del 90% de cobertura de tests en flujos críticos de pago y autenticación.

PytestGitHub ActionsCI/CDDocker

Resultados clave

3 clicksMáximo para comprar una entrada
90%+Cobertura de tests en flujos críticos
0Errores de procesamiento de pagos en QA
HybridMetodología Waterfall + Agile

Hallazgos clave

01

La containerización con Docker eliminó el clásico problema de "funciona en mi máquina" — incorporar nuevos miembros del equipo tomó 20 minutos en lugar de un día completo.

02

Los webhooks de Stripe fueron más confiables que la confirmación basada en redirect para manejar usuarios que cierran el navegador después del pago.

03

La metodología híbrida Waterfall–Agile funcionó bien: las decisiones de arquitectura se beneficiaron de planificación anticipada, mientras el desarrollo de features se benefició de ciclos de iteración semanales.

Conclusión

Sublime demostró que un equipo estudiantil puede construir y desplegar una aplicación e-commerce de grado producción con procesamiento real de pagos en un solo semestre. El proyecto enfatizó la importancia del testing — cada bug en flujos de pago fue detectado antes del demo day por el pipeline CI/CD, no por testing manual.

Galería

Sublime — Plataforma de e-ticketing captura de 1