Sobre el proyecto

stdy4u es un compañero de productividad estudiantil offline-first desarrollado con Flutter. Todos los datos permanecen localmente en el dispositivo utilizando Hive; no se requiere registro ni cuenta. Gestión de Cursos — añade cursos con nombre, código, profesor, aula, horario y codificación por colores. Realiza un seguimiento de las calificaciones por curso, horas de crédito, GPA objetivo y visualiza anillos de progreso visuales en el tablero principal. Mantén presionado para editar o eliminar. Tareas y Notas — crea tareas con fechas de vencimiento y niveles de urgencia (Normal/Urgente). Cada curso tiene una pestaña de notas dedicada y una vista de tareas filtrable. Las tareas completadas se animan con un efecto de conmutación. Materiales del Curso — adjunta enlaces, notas o archivos subidos (PDF, imágenes, documentos). Los archivos se copian en el directorio de documentos de la aplicación para el acceso offline y pueden abrirse con un toque. Seguimiento de Asistencia — marca las sesiones como Presente, Tarde, Ausente o Excusado. Una vista de calendario mensual permite tocar cualquier día para ver todos los cursos programados. Cálculo automático de porcentajes con advertencias de umbral configurables. Los chips de acción rápida aparecen en el horario diario. Temporizador Pomodoro — sesiones de enfoque configurables (1–60 min), descansos cortos (1–30 min) y descansos largos (1–60 min) con rotación automática. Incluye un contador de sesiones, retroalimentación háptica, reproducción opcional de música de fondo y un gráfico de análisis de enfoque semanal. Información de Tiempo de Pantalla — lee las estadísticas de uso del dispositivo a través de un puente nativo UsageStatsManager. Las entradas diarias por aplicación se almacenan localmente en Hive y se muestran en un panel expandible en la pantalla de Estadísticas. Estadísticas y Analítica — cálculo de CGPA con conversión de calificación por letras (A–F), gráficos de distribución de calificaciones por curso, anillos de progreso por asignatura y un gráfico semanal de tiempo de enfoque Pomodoro. Los gráficos están dibujados manualmente con CustomPaint, sin necesidad de una biblioteca de gráficos. Sistema de Diseño Comic-Print — una estética manga neo-brutalista que presenta superficies planas, bordes negros de tinta nítidos de 2.5 px, sombras de desplazamiento rígidas y cero radio de borde. Ofrece modos claro, oscuro y predeterminado del sistema con un acento Ink Red característico (#E63946) sobre papel envejecido y fondos oscuros. La barra de navegación personalizada utiliza geometría plana, bordes superiores gruesos y etiquetas en mayúsculas. La retroalimentación háptica y los sonidos de pulsación son conmutables. Notificaciones y Alarmas — recordatorios de clase recurrentes semanales (15 minutos antes de cada clase), recordatorios de tareas, alertas de sesión y alarmas exactas mediante SCHEDULE_EXACT_ALARM con un receptor nativo. Se solicita la exención de optimización de batería en tiempo de ejecución para un disparo fiable. Actualizaciones en la Aplicación — comprueba las versiones de GitHub al iniciar y muestra notas de la versión en markdown. Las descargas admiten pausa, reanudación y cancelación; el progreso sobrevive a las interrupciones. Arquitectura — Clean Architecture con tres capas (presentación, dominio, datos) conectadas mediante Riverpod. La navegación utiliza GoRouter con un ShellRoute que aloja tres rutas de pestañas dentro de un IndexedStack. La gestión de estado se basa en un patrón de proveedor de contador de actualización compartido. Stack Tecnológico: Flutter 3.27+, Dart >=3.6.0, Riverpod, GoRouter, Hive, table_calendar, flutter_local_notifications, just_audio, build_runner con hive_generator y riverpod_generator. CI/CD a través de GitHub Actions. Soporte de plataforma: Android e iOS. Licencia AGPL-3.0. La hoja de ruta incluye widgets para la pantalla de inicio, acciones rápidas y una función de tarjetas de memoria (flashcards).