Plataforma full-stack (Next.js App Router + Firebase + Stripe) para:
- Servicios de desarrollo web/IA
- Venta y consumo de cursos en video
- Dashboard de estudiante
- Panel admin
- Reproduccion segura con tokens auto-destruibles
- Next.js 16 (App Router) + TypeScript
- Tailwind CSS 4 + Framer Motion
- Firebase Auth + Firestore + Storage + Hosting/App Hosting
- Stripe Checkout + Webhooks
- Resend (emails transaccionales)
- Prisma (tipos de dominio)
- Publico:
/,/servicios,/cursos,/cursos/[slug],/sobre-mi,/contacto - Auth:
/login,/registro,/recuperar,/auth/callback - Estudiante:
/dashboard,/dashboard/cursos,/dashboard/cursos/[slug],/dashboard/perfil - Admin:
/admin,/admin/cursos,/admin/servicios,/admin/usuarios,/admin/tokens,/admin/pagos,/admin/contacto,/admin/configuracion
POST /api/auth/sessionPOST /api/checkout/coursePOST /api/checkout/servicePOST /api/webhook/stripePOST /api/tokens/generatePOST /api/tokens/validatePOST /api/tokens/revokeGET /api/video/[tokenId]POST /api/contactGET /api/admin/analytics
- Instalar dependencias:
pnpm install- Copiar variables:
cp .env.example .env.local- Configurar Firebase/Stripe/Resend en
.env.local. - Levantar app:
pnpm dev- Setup paso a paso:
docs-firebase-setup.md - Reglas Firestore:
firestore.rules - Indices Firestore:
firestore.indexes.json - Reglas Storage:
storage.rules
pnpm test
pnpm test:e2e- Instalar CLI:
npm i -g firebase-tools
firebase login- Configurar el proyecto:
firebase use --add- Desplegar con App Hosting (recomendado para Next.js SSR) desde consola Firebase conectando este repo, o con frameworks desde CLI:
firebase deploy- Configurar webhook de Stripe a:
https://tu-dominio.com/api/webhook/stripe
La proteccion de video (watermark + token + TTL + rate limit + logs) es disuasiva y robusta para uso comercial, pero no elimina al 100% la posibilidad de grabacion externa de pantalla.