Skip to content

ericjhonn/StudyMinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# StudyMinder [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) ![.NET](https://img.shields.io/badge/.NET-9.0-512BD4?style=flat&logo=dotnet&logoColor=white) ![WPF](https://img.shields.io/badge/UI-WPF-blue?style=flat&logo=windows) ![Status](https://img.shields.io/badge/Status-Em_Desenvolvimento-yellow) > **O seu assistente pessoal para gestão de estudos de alta performance.** > *Domine o seu edital com algoritmos de repetição espaçada e ciclos de estudo automatizados.* O **StudyMinder** é uma aplicação Desktop nativa para Windows (x64), desenvolvida com as tecnologias mais recentes do ecossistema Microsoft (.NET 9). O seu objetivo é eliminar a gestão manual de planilhas, oferecendo um sistema inteligente que decide **o que** estudar e **quando** revisar. --- ### Apoie uma Causa Real O **StudyMinder** é um software 100% gratuito e livre (GPLv3). Eu não cobro nada pelo uso e não há "versão premium". No entanto, este projeto tem uma missão maior. Se este software lhe ajudar nos estudos, considere fazer uma doação voluntária para o **Hospital Napoleão Laureano**, referência no tratamento do cancro na Paraíba. > **Hospital Napoleão Laureano** > *O hospital da vida* > > **Site Oficial:** [https://hlaureano.org.br/](https://hlaureano.org.br/) > **Faça uma Doação:** [https://hlaureano.org.br/a-fundacao/faca-uma-doacao/](https://hlaureano.org.br/a-fundacao/faca-uma-doacao/) > > *Nota: As doações devem ser feitas diretamente à instituição através do link oficial acima. Este projeto não intermedeia valores.* --- ## Galeria | Dashboard | Ciclo de Estudos | |:---:|:---:| | ![Dashboard](https://via.placeholder.com/600x400?text=Dashboard+com+Heatmap+e+Gráficos)
*Visão geral com Heatmap de consistência e KPIs de desempenho.* | ![Ciclo](https://via.placeholder.com/600x400?text=Modo+Ciclo+de+Estudos)
*Gerenciamento de tempo e ordem de matérias.* | | Modo Foco | Gestão de Editais | |:---:|:---:| | ![Timer](https://via.placeholder.com/600x400?text=Cronômetro+e+Pomodoro)
*Cronómetro integrado para registo automático de horas líquidas.* | ![Editais](https://via.placeholder.com/600x400?text=Gestão+de+Editais)
*Cadastro detalhado de concursos e datas de prova.* | --- ## Como Funciona: A Lógica de Revisões O diferencial do StudyMinder é o seu motor de agendamento de revisões (`RevisaoService`), que implementa metodologias comprovadas de aprendizado: ### 1. Método Clássico (Curva de Ebbinghaus) Ideal para retenção de longo prazo. Ao concluir uma sessão de estudo, o sistema agenda automaticamente três revisões futuras baseadas na data de conclusão: * **24 Horas:** Fixação imediata. * **7 Dias:** Manutenção da memória de curto prazo. * **30 Dias:** Consolidação na memória de longo prazo. * *Lógica:* `DataEstudo + Intervalo`. ### 2. Método Ciclo 4.2 Uma abordagem semanal focada em produtividade: * **Teoria (4 dias):** O aluno avança em novos conteúdos. * **Revisão (2 dias):** O sistema analisa os erros dos últimos 4 dias e gera uma lista de revisão focada apenas nas fraquezas. * **Descanso (1 dia):** Dia livre para evitar *burnout*. ### 3. Revisão Cíclica Para quem prefere uma rotação contínua de matérias sem datas fixas, baseada na ordem do edital e "filas" de revisão. --- ## Stack Tecnológica O projeto foi construído para ser robusto, modular e moderno: * **Core:** .NET 9.0 (C# 13). * **Interface (UI):** WPF (Windows Presentation Foundation) com XAML. * **Arquitetura:** MVVM (*Model-View-ViewModel*) puro. * **Base de Dados:** SQLite com Entity Framework Core 9.0. ### Principais Bibliotecas * `CommunityToolkit.Mvvm`: Implementação eficiente de `ObservableObject` e `RelayCommand`. * `FluentWPF`: Traz o *Fluent Design System* (acrílico, efeitos de luz) do Windows 10/11 para a aplicação. * `OxyPlot.Wpf`: Renderização de gráficos estatísticos e heatmaps. * `MahApps.Metro.IconPacks`: Ícones vetoriais modernos (Material Design). --- ## Como Executar ### Pré-requisitos * Windows 10 (versão 1809 ou superior) ou Windows 11. * [.NET Desktop Runtime 9.0](https://dotnet.microsoft.com/download/dotnet/9.0) (para rodar). * [SDK do .NET 9.0](https://dotnet.microsoft.com/download/dotnet/9.0) (para compilar). ### Instalação e Desenvolvimento 1. **Clone o repositório:** ```bash git clone [https://github.com/seu-usuario/StudyMinder.git](https://github.com/seu-usuario/StudyMinder.git) cd StudyMinder ``` 2. **Execute via terminal:** ```bash dotnet run --project StudyMinder ``` > A base de dados `StudyMinder.db` será criada automaticamente na primeira execução. 3. **Gerar Executável (Deploy):** Utilize o script facilitador na raiz do projeto para criar uma versão *self-contained* (que não exige instalação do .NET no PC de destino): ```cmd .\Publicar.bat ``` *Ou execute manualmente:* `dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true`. --- ## Estrutura do Projeto A solução segue rigorosamente o padrão MVVM para facilitar a manutenção e testes: StudyMinder/ ├── StudyMinder.sln ├── StudyMinder/ │ ├── App.xaml / App.xaml.cs │ ├── MainWindow.xaml / MainWindow.xaml.cs │ ├── Models/ # Entidades do EF Core │ ├── ViewModels/ # ViewModels com CommunityToolkit.MVVM │ ├── Views/ # Views XAML │ ├── Navigation/ # Sistema de navegação │ ├── Services/ # Serviços da aplicação │ ├── Styles/ # Estilos da aplicação │ ├── Data/ # DbContext e configurações │ ├── Images/ # Imagens │ ├── Fonts/ # Fontes │ ├── Config/ # Arquivos de configuração │ ├── Utils/ # Utilitários e Conversores --- ## Roadmap e Futuro * [ ] **Sincronização em Nuvem:** Backup automático via Google Drive/OneDrive. * [ ] **App Mobile:** Versão *companion* em MAUI para revisar flashcards no telemóvel. * [ ] **Modo Foco Total:** Bloqueio de notificações do Windows durante o cronómetro. * [ ] **Exportação PDF:** Relatórios semanais de desempenho para impressão. --- ## Contribuição Contribuições são muito bem-vindas! 1. Faça um Fork do projeto. 2. Crie uma Branch (`git checkout -b feature/NovaFeature`). 3. Faça o Commit (`git commit -m 'Adiciona NovaFeature'`). 4. Faça o Push (`git push origin feature/NovaFeature`). 5. Abra um Pull Request. --- ## Licença Este projeto é livre e de código aberto. Distribuído sob a licença **GNU General Public License v3.0 (GPLv3)**. Consulte o arquivo `LICENSE` para mais detalhes. --- ## Autor Desenvolvido por **Eric Jhon**. --- *Construído com ❤️, C# e muito café.*# StudyMinder

About

O seu assistente pessoal para gestão de estudos de alta performance.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published