🎊 MBA — RSVP Evento
Gestor de confirmaciones para eventos: enlace con token, reparto de la compra y control de pagos
Escala del Proyecto
Descripción General
Organizar un evento con treinta invitados tiene tres problemas que siempre se resuelven mal: saber cuántos vienen de verdad, decidir quién trae qué, y cobrar. Los tres acaban en un grupo de mensajería donde nadie confirma.
MBA lo resuelve con una aplicación mínima y directa. El organizador crea el evento y obtiene un enlace público con token que puede repartir; cada invitado entra, confirma si va o no, y opcionalmente indica qué producto lleva. Todo queda en base de datos.
A partir de ahí el panel resuelve lo demás: la lista de compra se
reparte automáticamente entre los asistentes confirmados, hay control de
pagos con lo cobrado y lo pendiente, y un botón que abre WhatsApp con el
mensaje de recordatorio ya escrito. Dos roles: admin edita y
coorganizador solo consulta.
Tecnologías Utilizadas
PHP
MySQL
CSS3
Vista móvil
Tokens
Estructura del Proyecto
admin/login.php — acceso al área de administración.
admin/dashboard.php — creación y listado de eventos, con botón
para copiar el enlace público.
admin/event_responses.php — vistas separadas de quién viene y
quién no, con el control de pagos.
index.php?token=… — confirmación de asistencia sin necesidad de
cuenta.
shopping_list.php — reparto automático entre los asistentes
confirmados.
includes/ con auth.php, config.php,
db.php y functions.php.
assets/js/theme.js para el cambio de tema de la interfaz.
Arquitectura
Estructura PHP clásica y deliberadamente pequeña: una parte pública sin
autenticación — el formulario al que se llega por token — y un panel privado con dos
roles. El núcleo compartido vive en includes/ y el esquema en
sql/.
mba/ ├── index.php # formulario público (?token=…) ├── shopping_list.php # reparto de la compra ├── admin/ │ ├── login.php · logout.php │ ├── dashboard.php # eventos y enlace público │ └── event_responses.php # asistentes y pagos ├── includes/ # auth, config, db, functions ├── assets/ # app.css, theme.js └── sql/schema.sql
Del Evento al Cobro
- Crear el evento: el organizador da nombre, fecha y descripción desde el panel.
- Obtener el enlace: el sistema genera un enlace público con token y un botón para copiarlo.
- Repartir: el enlace se envía por el canal que sea; el invitado no necesita cuenta.
- Confirmar: cada persona indica si va o no, y opcionalmente qué producto lleva.
- Ver el reparto: el panel separa a los que vienen de los que no, en dos vistas distintas.
- Repartir la compra: la lista de la compra se divide automáticamente entre los confirmados.
- Controlar los pagos: se marca quién ha pagado y queda visible lo pendiente por cobrar.
- Recordar: un botón abre WhatsApp con el mensaje prearmado para los que faltan.
Seguridad Implementada
- El acceso público es por token único por evento: sin el enlace correcto no se llega al formulario.
- Panel de administración protegido por login en
includes/auth.php. - Dos roles:
admincon permiso de edición ycoorganizadoren solo lectura. - Credenciales y configuración centralizadas en
includes/config.php. - Las credenciales iniciales documentadas en el README deben cambiarse antes de usarlo en producción.
Retos Técnicos y Decisiones de Diseño
El token elimina la barrera de entrada
Pedir registro a treinta invitados para que digan si vienen a una cena garantiza que no responda ni la mitad. El enlace con token da acceso directo al formulario: un clic y confirmado. Es la decisión que hace que la herramienta se use.
Reparto automático sobre los confirmados
Dividir la compra entre los invitados es fácil; dividirla entre los que han
confirmado es lo útil, porque el número cambia cada día hasta la víspera.
shopping_list.php recalcula sobre las confirmaciones actuales.
Un rol de solo lectura resuelve un problema real
En un evento suele haber más de un organizador, pero no todos deben poder borrar
cosas. El rol coorganizador permite que otra persona consulte quién
viene y quién ha pagado sin riesgo de que modifique nada por error.
Mi Rol
Desarrollador full stack — autor único.
Modelo de datos, formulario público con token, panel con dos roles, reparto de la lista de compra, control de pagos y despliegue.
Estado del Proyecto
En producción en mba.valentindg.com, usado para
gestionar eventos reales.
Código y Enlaces
El código está en el repositorio Proyectos-Personales, dentro de la
carpeta mba/.