Sistema de gestión de tareas colaborativo diseñado para estudiantes y profesores de DAM (Desarrollo de Aplicaciones Multiplataforma). Permite crear, asignar y realizar seguimiento del progreso de tareas de forma colaborativa en tiempo real.
- Usuarios: Los usuarios y su progreso se almacenan en Firebase Firestore
- Tareas: Sincronización automática de tareas entre todos los usuarios
- Progreso: Seguimiento del progreso individual guardado en la nube
- Modo Offline: Respaldo en localStorage cuando no hay conexión
- Roles diferenciados:
- 👨🏫 Administrador: Crear, editar y eliminar tareas
- 👨🎓 Estudiante: Marcar progreso personal en tareas
- Usuarios recientes: Acceso rápido a usuarios utilizados anteriormente
- Persistencia: Los usuarios nunca se pierden, incluso al limpiar el navegador
- Indicadores visuales de progreso por tarea
- Estadísticas en tiempo real del avance de cada usuario
- Barras de progreso con porcentajes
- Visualización del estado global de cada tarea
- Diseño responsive con Tailwind CSS
- Iconos Lucide para una interfaz limpia
- Modales interactivos para login y gestión
- Indicadores de estado de conexión
semidam/
├── index.html # Página principal
├── firebase-config.js # Configuración y funciones de Firebase
├── user-system.js # Sistema de usuarios y autenticación
├── script.js # Lógica principal de la aplicación
└── README.md # Este archivo
- Conexión automática: El sistema se conecta automáticamente a Firebase al cargar
- Sincronización en tiempo real: Los cambios se propagan inmediatamente a todos los usuarios
- Manejo de errores: Fallback automático a localStorage si Firebase no está disponible
- Autenticación simple: Login por nombre de usuario sin contraseña
- Roles automáticos: Asignación de roles basada en lista de administradores
- Persistencia: Los usuarios se guardan en Firebase y localStorage
- Último acceso: Tracking automático de la última vez que el usuario accedió
- CRUD completo: Crear, leer, actualizar y eliminar tareas (solo administradores)
- Estados: Pendiente, En Progreso, Completada
- Prioridades: Baja, Media, Alta, Urgente
- Progreso colaborativo: Múltiples usuarios pueden marcar su progreso individual
- Introduce tu nombre en el login
- Visualiza las tareas asignadas
- Marca tu progreso individual haciendo clic en las tareas
- Ve el progreso general de la clase
- Introduce tu nombre (debe estar en la lista de administradores)
- Crea nuevas tareas con el botón "Nueva Tarea"
- Edita o elimina tareas existentes
- Monitorea el progreso de todos los estudiantes
- Sin autenticación compleja: Sistema diseñado para uso en aula
- Datos públicos: Toda la información es visible para todos los usuarios
- Sin datos sensibles: No se almacenan contraseñas ni información personal
- Navegadores: Chrome, Firefox, Safari, Edge (versiones modernas)
- Dispositivos: Desktop, tablet y móvil
- Conectividad: Funciona online (Firebase) y offline (localStorage)
Edita script.js y modifica el array ESTADOS:
const ESTADOS = {
'pendiente': { texto: 'Pendiente', color: 'bg-gray-500', icono: 'clock' },
'en-progreso': { texto: 'En Progreso', color: 'bg-blue-500', icono: 'play-circle' },
'completada': { texto: 'Completada', color: 'bg-green-500', icono: 'check-circle' },
'tu-nuevo-estado': { texto: 'Tu Estado', color: 'bg-purple-500', icono: 'tu-icono' }
};Modifica el objeto PRIORIDADES en script.js:
const PRIORIDADES = {
'baja': { texto: 'Baja', color: 'text-green-600' },
'media': { texto: 'Media', color: 'text-yellow-600' },
'alta': { texto: 'Alta', color: 'text-orange-600' },
'urgente': { texto: 'Urgente', color: 'text-red-600' }
};- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -m 'Añadir nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
Desarrollado para el curso de DAM - Sistema de gestión colaborativa de tareas.