O Sistema SEU é um projeto acadêmico desenvolvido para servir como um modelo de sistema de gestão educacional. Utilizando Spring Boot, o sistema oferece uma plataforma completa para a administração de dados estudantis e escolares.
O objetivo do Sistema SEU é ensinar sobre as práticas e conceitos essenciais no desenvolvimento de software, demonstrando a aplicação prática de Spring Boot em um contexto bem próximo do real. Durante o desenvolvimento, são abordados temas como arquitetura de software, gerenciamento de banco de dados, segurança, testes automatizados e integração contÃnua.
- Gestão Acadêmica: MatrÃculas, gerenciamento de cursos, turmas e horários.
- Gestão de Dados Estudantis: Cadastro de alunos, acompanhamento de desempenho acadêmico, emissão de relatórios e históricos escolares.
- Portal do Aluno e do Professor: Interface para acesso a informações acadêmicas, submissão de atividades e comunicação entre alunos e professores.
- Segurança e Controle de Acesso: Implementação de autenticação e autorização para proteção dos dados.
A evolução do Sistema SEU é documentada de forma didática, permitindo que se possa acompanhar cada etapa do desenvolvimento, compreendendo as decisões de design e implementações técnicas realizadas.
- Java 22
- Spring Boot 3.3.2
- Spring Data JPA
- Spring Boot Actuator
- Spring Boot DevTools
- Thymeleaf
- Lombok
- Java 22
- Maven
- SDKMAN
-
Instalar o SDKMAN
curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh"
-
Instalar o Java 22 e o Maven
sdk install java 22-tem sdk default java 22-tem sdk install maven 3.9.8 sdk default maven 3.9.8
-
Verificar a instalação
java -version
Na raiz do projeto, há um arquivo .sdkmanrc para configurar o ambiente Java 22 do Temurin automaticamente:
# .sdkmanrc
java=22-tem
Para ativar a configuração do .sdkmanrc, execute:
sdk env installPara iniciar a aplicação, utilize o Maven:
mvn spring-boot:runA aplicação estará disponÃvel em http://localhost:9001.
Para construir e executar a aplicação usando Docker, siga os passos abaixo:
- Entre na pasta do Projeto
Você deve primeiro entrar em um dos projetos em desenvolvimento nesse repositório. Atualmente são os seguintes:
- diario-classe-v1
- Construir a imagem Docker
Execute o comando abaixo para construir a imagem Docker da aplicação:
docker build -t PROJETO- Executar a imagem Docker
Execute o comando abaixo para rodar a imagem Docker construÃda:
docker run --rm -p 9001:9001 PROJETOAtualmente, todos os projetos estão sendo escritos utilizando o SQLite embarcado diretamente no contêiner Docker. Isso significa que o arquivo do banco de dados SQLite está incluÃdo na imagem Docker e, portanto, não é persistido entre execuções consecutivas do contêiner. Toda vez que o contêiner é parado e reiniciado, qualquer dado salvo no banco de dados será perdido e o banco será recriado do zero.
Essa abordagem é prática para desenvolvimento e testes locais, pois permite que o ambiente seja rapidamente configurado e executado sem a necessidade de dependências externas adicionais. No entanto, para ambientes de produção, esta configuração não é ideal devido à falta de persistência dos dados.
Futuras Melhorias: No futuro, planejamos alterar a arquitetura para utilizar um banco de dados externo, como PostgreSQL e/ou MySQL, o que permitirá a persistência dos dados entre execuções do contêiner e melhorará a robustez e a escalabilidade do sistema.
Se você deseja contribuir para o Sistema SEU, por favor, faça um fork do repositório e envie um pull request com suas melhorias e correções. Agradecemos antecipadamente por seu apoio!
Este projeto está licenciado sob os termos da licença GNU Affero General Public License v3.0. Consulte o arquivo LICENSE para obter mais informações.