À propos du projet
stdy4u est un compagnon de productivité étudiant hors-ligne construit avec Flutter. Toutes les données restent locales sur l'appareil grâce à Hive ; aucune inscription ni compte n'est requis.
Gestion des cours — ajoutez des cours avec nom, code, professeur, salle, horaire et code couleur. Suivez les notes par cours, les crédits, la moyenne ciblée et consultez les anneaux de progression visuels sur le tableau de bord. Appuyez longuement pour modifier ou supprimer.
Tâches et notes — créez des tâches avec des dates d'échéance et des niveaux d'urgence (Normal/Urgent). Chaque cours dispose d'un onglet notes dédié et d'une vue de tâches filtrable. Les tâches accomplies s'animent avec un effet de bascule.
Matériels de cours — attachez des liens, notes ou fichiers téléchargés (PDF, images, documents). Les fichiers sont copiés dans le répertoire documents de l'application pour un accès hors ligne et peuvent être ouverts en un tapotement.
Suivi de présence — marquez les séances comme Présent, En retard, Absent ou Excusé. Une vue calendrier mensuelle permet de visualiser tous les cours programmés en tapant un jour. Calcul automatique du pourcentage avec avertissements seuils configurables. Des pilules d'action rapide apparaissent sur l'horaire quotidien.
Minuteur Pomodoro — sessions de concentration configurables (1-60 min), pauses courtes (1-30 min) et pauses longues (1-60 min) avec rotation automatique. Compteur de sessions, feedback haptique, lecture musicale optionnelle en arrière-plan et graphique analytique hebdomadaire.
Aperçus du temps d'écran — lit les statistiques d'utilisation de l'appareil via un pont UsageStatsManager natif. Les entrées journalières par application sont stockées localement dans Hive et affichées dans un panneau extensible sur l'écran Stats.
Statistiques et analyses — calcul de la moyenne générale avec conversion en lettres (A-F), graphiques de répartition des notes par cours, anneaux de progression par matière et graphique hebdomadaire de focus Pomodoro. Les graphiques sont peints à la main avec CustomPaint, sans bibliothèque de graphiques.
Système de design Comic-Print — esthétique manga néo-brutaliste avec surfaces planes, bordures encre-noir de 2,5 px, ombres décalées dures et aucun rayon de bordure. Modes clair, sombre et système avec accent Ink Red (#E63946) sur papier vieilli et fonds sombres. Barre de navigation personnalisée en géométrie plate, épaisse bordure supérieure et étiquettes en majuscules. Feedback haptique et sons d'appui activables.
Notifications et alarmes — rappels de cours hebdomadaires récurrents (15 minutes avant chaque cours), rappels de tâches, alertes de session et alarmes exactes via SCHEDULE_EXACT_ALARM avec récepteur natif. L'exemption d'optimisation batterie est demandée à l'exécution pour un déclenchement fiable.
Mises à jour in-app — vérifie les releases GitHub au démarrage et affiche les notes de version en markdown. Le téléchargement prend en charge pause, reprise et annulation ; la progression survit aux interruptions.
Architecture — Clean Architecture avec trois couches (présentation, domaine, donnée) reliées par Riverpod. Navigation avec GoRouter et ShellRoute hébergeant trois routes d'onglets dans un IndexedStack. Gestion d'état via un pattern de compteur de rafraîchissement partagé.
Pile technique : Flutter 3.27+, Dart >=3.6.0, Riverpod, GoRouter, Hive, table_calendar, flutter_local_notifications, just_audio, build_runner avec hive_generator et riverpod_generator. CI/CD via GitHub Actions.
Support : Android et iOS. Licence AGPL-3.0. Feuille de route incluant widgets d'écran d'accueil, actions rapides et fonctionnalité flashcards.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.