Este é um projeto educacional em Java usando Spring Boot e Maven para ensinar conceitos de qualidade aos alunos. O projeto implementa um sistema simples de cadastro de alunos e professores com uma interface web básica.
- Cadastro e gerenciamento de alunos
- Cadastro e gerenciamento de professores
- Interface web simples usando Thymeleaf e Bootstrap
- Banco de dados MongoDB para armazenamento de documentos
- Java 17
- Spring Boot 3.2.0
- Maven
- Spring Data MongoDB
- Thymeleaf
- Bootstrap
- Banco de Dados MongoDB
Este projeto utiliza um banco de dados MongoDB hospedado remotamente para fins educacionais:
mongodb://mongo:XdnCdkmKwzJiKHiryTDzdgRGOxzNQYtA@crossover.proxy.rlwy.net:24258
- Java 17 ou superior
- Maven 3.6.0 ou superior
- Baixe o Maven do site oficial: https://maven.apache.org/download.cgi
- Extraia o arquivo ZIP para um diretório como
C:\apache-maven-3.9.5 - Adicione a variável de ambiente
MAVEN_HOMEapontando para o diretório do Maven - Adicione
%MAVEN_HOME%\binao seu PATH - Verifique a instalação com o comando:
mvn -versionsudo apt update
sudo apt install mavensudo yum install maven
# ou para Fedora:
sudo dnf install maven- Clone o repositório
- Navegue até o diretório do projeto
- Execute a aplicação usando Maven:
./mvnw spring-boot:runOu construa e execute o JAR:
./mvnw clean package
java -jar target/educational-quality-project-0.0.1-SNAPSHOT.jar- Para compilar o projeto:
mvn compile - Para executar os testes:
mvn test - Para empacotar o projeto:
mvn package - Para limpar os arquivos gerados:
mvn clean - Para executar a aplicação:
mvn spring-boot:run
Após iniciar a aplicação, você pode acessá-la em:
- Página principal: http://localhost:8080
- Página de alunos: http://localhost:8080/students
- Página de professores: http://localhost:8080/teachers
A aplicação também disponibiliza endpoints RESTful para integração com outras aplicações:
GET /api/students- Listar todos os estudantesGET /api/students/{id}- Obter detalhes de um estudante específicoPOST /api/students- Criar um novo estudantePUT /api/students/{id}- Atualizar informações de um estudanteDELETE /api/students/{id}- Excluir um estudante
GET /api/teachers- Listar todos os professoresGET /api/teachers/{id}- Obter detalhes de um professor específicoPOST /api/teachers- Criar um novo professorPUT /api/teachers/{id}- Atualizar informações de um professorDELETE /api/teachers/{id}- Excluir um professor
entity/- Entidades MongoDB para Aluno e Professorrepository/- Interfaces da camada de acesso a dadosservice/- Camada de lógica de negócioscontroller/- Controladores webtemplates/- Templates Thymeleaf com Bootstrap
Este projeto demonstra:
- Operações CRUD básicas
- Arquitetura MVC
- Fundamentos do Spring Boot
- Uso do Spring Data MongoDB
- Injeção de dependência
- Design de API RESTful
- Integração com banco de dados NoSQL
- Template frontend com Thymeleaf