Skip to content

mvmv1428/cumple

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 Cumple Matías 6 — RSVP Minecraft

Sistema de confirmación de asistencia (RSVP) con temática Minecraft para el cumpleaños de Matías (6 años). 100% gratuito: GitHub Pages + Cloudflare Worker + MockAPI.io.

Estructura

.
├── index.html           # Página pública del invitado (?invitado=ID)
├── admin.html           # Panel admin (gestión de invitados + vista por invitado)
└── worker/
    ├── worker.js        # Cloudflare Worker (proxy seguro a MockAPI)
    └── wrangler.toml    # Config del Worker

Setup paso a paso

1) MockAPI.io

  1. Crear cuenta en https://mockapi.io y un proyecto nuevo.
  2. Crear recurso invitados con campos:
    • nombre — string
    • asistira — boolean (puede ser null)
    • acompanantes — number (default 0)
    • config — object (puede quedar vacío)
    • confirmadoEn — string (timestamp)
  3. Crear recurso config con campo:
    • value — object
      Y crear UN registro inicial (queda con id=1).
  4. Copiar la URL base del proyecto (ej: https://abcd1234.mockapi.io/api/v1).

2) Cloudflare Worker

  1. Instalar Wrangler: npm i -g wrangler
  2. cd worker && wrangler login
  3. Editar wrangler.toml:
    • ALLOWED_ORIGIN = origen de tu GitHub Pages (sin barra final, ej. https://usuario.github.io)
    • MOCKAPI_URL = URL base de MockAPI del paso 1
  4. Desplegar: wrangler deploy
  5. Setear el token admin secreto: wrangler secret put ADMIN_TOKEN y pegar un valor largo aleatorio (ej. salida de openssl rand -hex 32).
  6. Anotar la URL final del Worker (ej. https://cumple-matias.usuario.workers.dev).

3) GitHub Pages

  1. Crear repo y subir index.html + admin.html.
  2. Editar la constante CONFIG.WORKER_URL dentro de index.html con la URL del Worker.
  3. En Settings → Pages, habilitar Pages desde la rama main.
  4. Abrir https://usuario.github.io/repo/admin.html:
    • Pegar el ADMIN_TOKEN y entrar.
    • En la pestaña Setup, guardar la Worker URL y testear conexión.
    • En Vista del invitado, configurar fecha, dirección, sugerencia de regalo, talla, etc.
    • En Invitados, crear los 25 invitados (o usar el bulk-add desde Setup).
    • Copiar el link único de cada invitado y compartirlo (WhatsApp/SMS).

Seguridad

  • El Worker no expone GET /invitados. Un invitado solo puede consultar/actualizar su propio ID, y solo puede tocar los campos asistira, acompanantes, confirmadoEn (whitelist).
  • La URL real de MockAPI queda en variables del Worker, nunca en el frontend.
  • Los endpoints /admin/* requieren el header X-Admin-Token y se autentican contra ADMIN_TOKEN (secret).
  • CORS limitado al origen configurado (ALLOWED_ORIGIN).
  • Los IDs de MockAPI son cortos (autoincrementales). Para más entropía, podés migrar a IDs largos generados por el panel.

Personalización

  • Tema: paleta y tipografías en el :root CSS de index.html.
  • Bloques opcionales (regalo, talla, nota): se activan globalmente desde el panel o por invitado.
  • Modo demo offline: en index.html, CONFIG.DEMO_MODE = true muestra datos de ejemplo sin Worker.

Probar localmente

Abrir index.html con ?invitado=1 en el navegador (con DEMO_MODE=true o el Worker funcionando) y admin.html con el token admin.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages