Todo empezó con una idea sencilla: automatizar y facilitar la forma en la que se administran las rifas.
Mi meta era que tanto clientes como administradores tuvieran una experiencia mucho más fluida y moderna.
Desde la página web, los clientes pueden:
La idea era que el cliente tuviera todo el proceso claro, sin depender de hablar con una persona en todo momento.
El administrador, por su parte, cuenta con un dashboard completo que le permite:
Básicamente, tiene todo el control de las rifas en un solo lugar.
Me gustó mucho la idea de usar dos bases de datos distintas porque, por ejemplo, en una rifa de 10,000 boletos, guardo los datos de la rifa en PostgreSQL pero todos los boletos en MongoDB. Eso hace que sea más escalable y flexible.
No quise que el sistema se quedara solo en lo digital, así que también diseñé un flujo para ventas físicas en puntos de venta.
En este escenario, hay personas que venden boletos directamente al cliente, como si fuera una tienda.
El vendedor (a través del dashboard administrativo) selecciona la rifa, los boletos y registra la transacción.
Cuando el cliente paga, el sistema genera un código QR único que se le entrega como comprobante de su compra. Ese QR es clave:
Además, ese ticket tiene la opción de enviarse al bot de WhatsApp, lo que refuerza todavía más la validez y autenticidad de la transacción.
En otras palabras: aunque el cliente haya comprado físicamente, siempre tiene una prueba digital segura y verificable de su boleto.
Todo el proyecto está montado en mi servidor físico personal.
Ahí corren los bots, los websockets, el backend, las bases de datos y los microservicios.
Además, tengo respaldos automáticos diarios de la base de datos para mantener todo seguro.
Así nació mi sistema de rifas.
Al inicio era solo una idea para “automatizar un poco el proceso”, pero terminó siendo un ecosistema completo con web, bots, dashboard, ventas físicas y un backend robusto.