Sobre mi participación técnica

Claseteca fue mi primer proyecto profesional en equipo, y marcó un antes y un después en mi camino como desarrollador. Participé junto a mi amigo Roberto Lara y un diseñador que también estaba comenzando; los tres nos enfrentamos a construir una plataforma real desde cero, aprendiendo mientras hacíamos.

Durante este proceso, empecé a entender Ruby on Rails en serio, apoyándome en recursos como Rails for Zombies y Railscasts. Cada commit era una mezcla de reto, descubrimiento y crecimiento. Fue ahí donde empecé a aprender buenas prácticas, a entender flujos complejos y a trabajar con otros perfiles más allá del desarrollo.

Más allá de lo técnico, Claseteca me permitió colaborar con psicólogos, facilitadores y emprendedores sociales para construir una herramienta digital con verdadero impacto. No era solo código: estábamos habilitando el acceso al conocimiento y ayudando a que otros pudieran compartir lo que sabían.

Aprendí que un proyecto no se trata solo de lo que haces, sino de lo que cambia en ti cuando lo haces.

Funcionalidades realizadas

  • Diseño del modelo de cursos con validaciones condicionales, lógica de estado y soporte para múltiples configuraciones (costo, sesiones, requisitos, lugar, docente).

  • Implementación del sistema completo de inscripción, con generación de órdenes únicas y control de disponibilidad.

  • Desarrollo del módulo CRUD de cursos con búsqueda avanzada, filtros dinámicos y control de visibilidad pública.

  • Integración de sliders administrables para destacar contenidos clave con soporte para imágenes locales y remotas.

  • Configuración de formularios adaptativos según rol del usuario y etapa del proceso educativo.

  • Implementación de sistema de contacto con almacenamiento, validación y visualización administrativa.

  • Construcción del panel administrativo seguro, con autenticación basada en Devise y permisos con CanCan.

  • Incorporación de sistema de pagos con soporte para IPN de Dineromail y conciliación automática por token.

  • Integración de vistas públicas con metadata completa de los cursos: docente, requisitos, mapa, biografía, fechas.

Logros del proyecto

  • Diseño del modelo de cursos con validaciones condicionales, lógica de estado (`abierto`, `agotado`, `terminado`) y soporte para múltiples configuraciones (costo, sesiones, requisitos, lugar, docente), permitiendo representar distintos tipos de clases en una sola estructura reutilizable.

  • Diseño del sistema de inscripciones y cursos con lógica de estados automatizados (`pending`, `success`, `failure`), permitiendo controlar disponibilidad, flujo de pagos y comportamiento del sistema en tiempo real sin intervención manual.

  • Integración con Dineromail para permitir pagos presenciales en OXXO mediante referencias personalizadas y validación por IPN.

  • Adopción de GitFlow como estrategia de integración para coordinar desarrollo entre backend, frontend y diseño visual.

  • Inclusión de lógica de permisos usando CanCan para estructurar los accesos por tipo de usuario, primer acercamiento a autorización formal.

  • Desarrollo de motor de búsqueda personalizado para cursos con filtros y paginación dinámica.

  • Exportación de cursos a CSV desde el panel administrativo, facilitando reportes e integraciones.

  • Participación activa en tareas de diseño gráfico utilizando Illustrator, lo cual amplió mi perspectiva más allá del backend.

  • Project Name: Claseteca

  • Role: Desarrollador Backend (proyecto educativo)

  • Tools: Ruby on Rails, PostgreSQL, Devise, CanCan, CarrierWave, FriendlyId, WillPaginate, CSV

  • Category: Educativo

  • Duración del proyecto: 1 de June de 2012 – 1 de February de 2013 (8 months)