Proyecto Next.js (+TypeScript) para una plataforma de acompañamiento post-accidente llamada ReHubRD.
Este repositorio contiene la aplicación frontend (Next 14) con rutas de dashboard, login, registro y componentes reutilizables. Incluye una implementación de autenticación demo con next-auth y una pequeña lógica para crear recordatorios en sesión.
- Panel de usuario (
/dashboard) con flujo: Perfil → Plan → Seguimiento → Recursos. - Componentes reutilizables para UI y navegación (
src/components/*). - Autenticación demo con
next-auth(Credentials provider) para desarrollo. - Módulo de
SugerenciasRecordatoriosque permite programar recordatorios en sesión (usasessionStoragey la Notification API cuando el navegador lo permite). - Guías y recursos agrupados para apoyo post-accidente.
- Node.js 18+ (recomendado)
- npm o pnpm
- Clona el repositorio:
git clone <repo-url> rehud-rd
cd ReHubRD- Instala dependencias (elige
npmopnpm):
npm install
# o
pnpm install- Crear archivo de entorno local
.env.localcon las variables mínimas para desarrollo:
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=dev-secret-please-change
AUTH_DEMO_EMAIL=demo@rehub.do
AUTH_DEMO_PASSWORD=demo123- Ejecutar en modo desarrollo:
npm run dev
# o
pnpm devAbre http://localhost:3000 en el navegador.
- Email:
demo@rehub.do - Password:
demo123
Usa estas credenciales en la pantalla de login (ruta /login) para probar la sesión demo del proyecto.
src/app/— Rutas de Next.js (app router). Rutas principales:app/page.tsx— Landingapp/login/page.tsx— Inicio de sesiónapp/registro/page.tsx— Registroapp/dashboard/— Dashboard y subrutas (perfil, plan, recursos, seguimiento, cuenta)
src/components/— Componentes UI y específicos del dashboard (InicioDashboard,SugerenciasRecordatorios,FlujoPersonalizadoView, etc.)src/lib/— Lógica de negocio, stores y utilidades (perfil-store, cuenta-store, opciones-necesidades, recursos-guias, auth config)src/components/ui/Icons.tsx— Iconos compartidossrc/app/api/auth/[...nextauth]/route.ts— Endpoint denext-auth
- Autenticación: Se usa
next-authconCredentialsProvider. En desarrollo las credenciales están validadas contra variables de entorno (AUTH_DEMO_EMAIL,AUTH_DEMO_PASSWORD). - Sesión: estrategia
jwt(versrc/lib/auth.ts). Asegúrate de definirNEXTAUTH_SECRETen producción. - Recordatorios:
SugerenciasRecordatoriospermite crear recordatorios ensessionStoragey usasetTimeoutpara disparar notificaciones. Esto es una solución en sesión — para recordatorios persistentes/servidor se debe integrar una cola backend o servicio (e.g., cron, push notifications, Firebase, o un worker).
- El componente de recordatorios utiliza la Notification API y
sessionStorage. En entornos donde las notificaciones estén deshabilitadas aparecerá unalertcomo fallback. - La autenticación demo no es segura para producción. Reemplaza la validación por una base de datos y hashing de contraseñas antes de desplegar.
- Revisar variables de entorno antes de desplegar:
NEXTAUTH_URLyNEXTAUTH_SECRETson necesarias paranext-auth.
- Crea una rama feature/bugfix a partir de
main. - Haz cambios y agrega tests si corresponde.
- Abre un pull request describiendo los cambios.