O ScheduleGuide é um sistema pensado para ajudar estudantes no planejamento e execução de suas sessões de estudo, por meio da visualização dos objetivos e sugestão de cronogramas.
Esse projeto se trata de um trabalho acadêmico da disciplina Projeto Integrado I, realizado pelos integrantes do grupo abaixo.
O ScheduleGuide oferece uma aplicação que reúne conteúdos, horários disponíveis e cronogramas em um ambiente que facilita o planejamento, execução e análise de sessões de estudo. Ela é hospedada localmente e voltada para uso individual, mas suporta o uso remoto por meio da internet.
O Diagrama de Classes do domínio do sistema está disponível em ./Diagrama-PI1.asta, e representado abaixo:
- Registrar conteúdo: O sistema permite que o usuário registre os conteúdos que deseja estudar com os recursos de apoio cabíveis. Os conteúdos integram tópicos, que podem ser organizados em categorias.
- Registrar disponibilidade: O sistema permite que o usuário registre em um calendário suas janelas de disponibilidade.
- Criação de um cronograma: A partir dos dados registrados, o sistema sugere um cronograma. Detalhes adicionais auxiliam a moldar o resultado às necessidades.
- Ambiente de estudos: O sistema apresenta um ambiente de estudo que minimiza distrações, exibindo apenas o tempo restante para cada fase (entre foco e pausa) e uma referência para o conteúdo atual.
- Acompanhamento do progresso: O sistema disponibiliza ao usuário seus dados de uso, de modo que possa avaliar seu desempenho ao longo do tempo.
O ScheduleGuide é desenvolvido em Java e JavaScript.
O desenvolvimento do projeto é apoiado pelas seguintes ferramentas:
- GitHub: desenvolvimento em paralelo e versionamento dos artefatos produzidos.
- Maven: gerenciamento das dependências, desde a padronização das instalações até sua implantação.
- JUnit & Mockito: realização de testes de unidade.
Além disso, são reutilizados frameworks que fornecem recursos úteis para concretizar a aplicação.
- Spring Boot: configuração e gestão da infraestrutura do projeto.
- Spring Web: veiculação do sistema como uma plataforma Web, almejando primeiramente o acesso via desktop.
- Spring Data JPA & H2 Database: criação e manutenção de um banco de dados.
- Bootstrap: design das interfaces.
- Thymeleaf: reutilização e padronização dos elementos das páginas.
- Axios: tratamento de promessas e simplificação da sintaxe.
Para utilizar o sistema, a máquina deve possuir os seguintes aplicativos:
- Java 25
- Maven
O sistema pode ser adquirido ao clonar o projeto:
git clone https://github.com/fabiolameireles/ScheduleGuide.gitApós baixar o repositório, é necessário trocar o diretório para sua raiz a fim de executar comandos:
cd caminho/ate/ScheduleGuideO código fonte do domínio do sistema foi documentado conforme os padrões JavaDoc. Portanto, é possível gerar páginas em HTML que descrevem as características e comportamento das classes geradas. Para gerar a documentação JavaDoc, deve-se executar o seguinte comando:
mvn javadoc:javadocUma vez gerada, o acesso à documentação é feito ao abrir o arquivo em ./target/reports/apidocs/index.html, disponível mesmo sem executar o sistema.
O sistema entra em funcionamento ao executar o seguinte comando:
./mvnw spring-boot:runPor padrão, o servidor se liga à porta 8080 da máquina e sua página inicial está disponível localhost:8080/index.html.
Este programa é distribuído sob a licença do MIT. Veja LICENSE para mais informações.