Saltar al contenido principal

Preguntas frecuentes

General

¿Puedo tener varias academias?
Sí. La plataforma es multi-academia (SaaS). Cada academia tiene su slug, sus usuarios y sus datos aislados. El admin de plataforma crea y configura las academias.

¿El mismo email puede usarse en dos academias?
No. El email de usuario es único en todo el sistema; cada usuario pertenece a una sola academia.

¿Cómo sabe la web de academias qué academia es?
Cada usuario tiene academy_id en el JWT. El backend filtra todos los datos por esa academia. Para contenido público y pre-registro se usa el slug (variable NEXT_PUBLIC_ACADEMY_SLUG o parámetro ?academy=).


Login y sesión

No me deja entrar en la web de academias.
Comprueba que la cookie auth_token se esté enviando (p. ej. en DevTools → Application → Cookies). Si usas la API, verifica que NEXT_PUBLIC_API_URL esté definida y que el backend esté en marcha. Credenciales de prueba: admin@academia.com / admin123.

No me deja entrar en el admin.
El admin usa la cookie platform_auth. Usuario de prueba: platform@academy.com / platform123. Asegúrate de que el origen del admin esté en CORS_ORIGIN del backend.

Al cerrar el navegador pierdo la sesión.
Las cookies tienen caducidad (p. ej. 7 días). Si usas “cerrar todas las cookies” o modo incógnito, la sesión se pierde.


Precios y mora

¿De dónde salen los precios por disciplina?
Los define el administrador de plataforma en el admin, por academia. Son los valores por defecto para esa disciplina en esa academia (pre-registro, primer pago, etc.).

¿Cómo se calcula la mora?
Cada academia tiene “días antes de mora” y “% mora”. Si un pago está vencido y han pasado esos días, se aplica el porcentaje sobre el valor base. El reporte de mora lista los pagos en esa situación.

¿Puedo cambiar el plan de una academia?
Sí, desde el admin de plataforma, editando la academia y eligiendo otro plan (o ninguno).


Estudiantes y pagos

Al aprobar un estudiante no veo el pago.
Al aprobar, el backend crea el primer pago. Recarga la lista de pagos del estudiante. Si usas mocks (sin API), el frontend crea el pago en localStorage.

Un estudiante no ve sus pagos.
Debe estar logueado con un usuario con rol estudiante asociado a ese estudiante. La ruta /pagos usa el usuario actual para cargar solo sus pagos.

¿Puedo eliminar un pago ya registrado?
En el MVP no hay flujo de “anular pago”. Sería un cambio en el backend (soft delete o estado “anulado”).


Documentación y soporte

¿Dónde está la documentación técnica?
En este sitio (Docusaurus). Para desarrollo: README de cada proyecto (api, web, admin, docs-site) y docs/VALIDATION.md en la raíz.

¿Cómo despliego la documentación?
En docs-site: npm run build y sube la carpeta build/ a un hosting estático o GitHub Pages.