- Ubicación:
src/routes/login.tsx - Funcionalidad: Redirección automática después del login basada en el tipo de usuario
- Tipos soportados:
admin/superadmin→/dashboard/adminteacher/student/staff→/dashboard
- Ubicación:
src/routes/dashboard/index.tsx - Características:
- Interfaz adaptativa según el tipo de usuario
- Botones dinámicos (Admin Panel solo para admins)
- Sección de testing configurable (
ENABLE_TESTING_SECTION) - Diseño responsive con colores del environment
- Ubicación:
src/routes/dashboard/admin.tsx - Características:
- Acceso restringido solo para admin/superadmin
- Diseño profesional con iconos y animaciones
- Herramientas administrativas:
- 👥 Gestión de Usuarios
- ⚙️ Configuración del Sistema
- 📊 Análisis y Reportes
- 🔒 Seguridad y Logs
- Colores dinámicos del environment
- Ubicación:
src/routes/dashboard/profile.tsx - Características:
- Edición de perfil personal
- Campos soportados:
- Nombre y apellido
- Email (con validación)
- Nombre de usuario
- Teléfono (con validación)
- Foto de perfil (URL)
- Idioma (ES/EN)
- Cambio de contraseña con validación robusta
- Integración con API Flowless
- Ubicación:
src/lib/api-client.ts - Características:
- Manejo automático de headers de autenticación
- Funciones para actualización de perfil
- Cambio de contraseña self-service
- Upload de imágenes de perfil
- API admin para gestión de usuarios
- Validaciones de email, teléfono y contraseña
- Utiliza variables de environment (
VITE_PRIMARY_COLOR,VITE_SECONDARY_COLOR) - Tema consistente en todos los componentes
- Diseño profesional con sombras y transiciones
- Grid layouts adaptativos
- Componentes que se ajustan a diferentes tamaños de pantalla
- Interfaz móvil-friendly
- Hover effects en botones
- Transiciones suaves
- Feedback visual para acciones del usuario
VITE_API_BASE_URL=https://api.pml.edu.do
VITE_APP_NAME=PML.EDU.DO
VITE_PRIMARY_COLOR=#006aff
VITE_SECONDARY_COLOR=#4a90e2Para deshabilitar la sección de testing en el dashboard principal:
// En src/routes/dashboard/index.tsx
const ENABLE_TESTING_SECTION = false- Email: Formato válido con regex
- Teléfono: Formato internacional
- Contraseña:
- Mínimo 8 caracteres
- Al menos una mayúscula
- Al menos una minúscula
- Al menos un número
- Headers automáticos con session ID
- Manejo de errores de autenticación
- Redirección automática en caso de sesión inválida
PUT /auth/user/me- Actualización de perfilPOST /auth/password-change/self- Cambio de contraseñaPOST /auth/upload/picture- Upload de imagenGET /auth/users- Lista de usuarios (admin)PUT /auth/users/:id- Actualizar usuario (admin)DELETE /auth/users/:id- Eliminar usuario (admin)
- Mensajes de error descriptivos
- Validación client-side antes de enviar
- Feedback visual para el usuario
- User Management UI - Interfaz completa para gestión de usuarios
- File Upload - Drag & drop para imágenes de perfil
- Notifications - Sistema de notificaciones en tiempo real
- Audit Logs - Visualización de logs de seguridad
- Bulk Operations - Operaciones masivas en usuarios
- Loading States - Skeletons y spinners mejorados
- Toast Notifications - Reemplazar alerts con toasts
- Form Validation - Validación en tiempo real
- Dark Mode - Soporte para tema oscuro
/dashboard/ → Dashboard principal (todos los usuarios)
/dashboard/admin → Panel admin (solo admin/superadmin)
/dashboard/profile → Gestión de perfil (todos los usuarios)
/login → Login con smart redirection
✅ Smart Redirection - Redirección inteligente basada en user_type ✅ Profile Edit - Edición completa de perfil con validaciones ✅ Password Change - Cambio de contraseña seguro ✅ Admin Panel - Dashboard administrativo profesional ✅ API Integration - Integración completa con Flowless ✅ Responsive Design - Diseño adaptativo y profesional ✅ Environment Colors - Colores dinámicos del environment ✅ Testing Section - Componente de testing fácilmente desactivable ✅ Error Handling - Manejo robusto de errores ✅ Validation - Validaciones client-side y server-side