Sobre o projeto
stdy4u é um companheiro de produtividade estudantil offline construído com Flutter. Todos os dados permanecem localmente no dispositivo usando Hive; não é necessário cadastro ou conta.
Gerenciamento de Cursos — adicione cursos com nome, código, professor, sala, cronograma e codificação por cores. Acompanhe notas por curso, horas de crédito, meta de GPA e visualize anéis de progresso visual no painel inicial. Pressione e segure para editar ou excluir.
Tarefas e Notas — crie tarefas com datas de entrega e níveis de urgência (Normal/Urgente). Cada curso possui uma aba de notas dedicada e uma visualização de tarefas filtrável. Tarefas concluídas animam com um efeito de alternância.
Materiais do Curso — anexe links, notas ou arquivos enviados (PDFs, imagens, docs). Os arquivos são copiados para o diretório de documentos do aplicativo para acesso offline e podem ser abertos com um toque.
Rastreador de Frequência — marque sessões como Presente, Atrasado, Ausente ou Justificado. Uma visualização de calendário mensal permite tocar em qualquer dia para ver todos os cursos agendados. Cálculo automático de porcentagem com avisos de limite configuráveis. Chips de ação rápida aparecem no cronograma diário.
Timer Pomodoro — sessões de foco configuráveis (1–60 min), pausas curtas (1–30 min) e pausas longas (1–60 min) com rotação automática. Inclui contador de sessões, feedback háptico, reprodução opcional de música de fundo e um gráfico de análise de foco semanal.
Insights de Tempo de Tela — lê estatísticas de uso do dispositivo via uma ponte nativa UsageStatsManager. Entradas diárias por aplicativo são armazenadas localmente no Hive e exibidas em um painel expansível na tela de Estatísticas.
Estatísticas e Análises — cálculo de CGPA com conversão de notas por letra (A–F), gráficos de distribuição de notas por curso, anéis de progresso por disciplina e um gráfico semanal de tempo de foco Pomodoro. Os gráficos são desenhados manualmente com CustomPaint, sem necessidade de biblioteca de gráficos.
Sistema de Design Estilo Quadrinhos — uma estética manga neo-brutalista apresentando superfícies planas, bordas pretas de tinta nítidas de 2,5 px, sombras deslocadas rígidas e zero raio de borda. Oferece modos claro, escuro e padrão do sistema com um destaque assinatura Ink Red (#E63946) sobre papel envelhecido e fundos escuros. A barra de navegação personalizada usa geometria plana, bordas superiores espessas e rótulos em letras maiúsculas. Feedback háptico e sons de pressão são alternáveis.
Notificações e Alarmes — lembretes de aulas recorrentes semanais (15 minutos antes de cada aula), lembretes de tarefas, alertas de sessão e alarmes exatos via SCHEDULE_EXACT_ALARM com um receptor nativo. A isenção de otimização de bateria é solicitada em tempo de execução para disparos confiáveis.
Atualizações no Aplicativo — verifica lançamentos no GitHub ao iniciar e exibe notas de lançamento em markdown. O download suporta pausa, retomada e cancelamento; o progresso sobrevive a interrupções.
Arquitetura — Clean Architecture com três camadas (apresentação, domínio, dados) conectadas pelo Riverpod. A navegação usa GoRouter com um ShellRoute hospedando três rotas de abas dentro de um IndexedStack. O gerenciamento de estado baseia-se em um padrão de provedor de contador de atualização compartilhado.
Stack Tecnológica: Flutter 3.27+, Dart >=3.6.0, Riverpod, GoRouter, Hive, table_calendar, flutter_local_notifications, just_audio, build_runner com hive_generator e riverpod_generator. CI/CD via GitHub Actions.
Suporte de plataforma: Android e iOS. Licenciado sob AGPL-3.0. O roadmap inclui widgets na tela inicial, ações rápidas e um recurso de flashcards.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.