Neste NLW foram 7 trilhas com 7 linguagens de programação diferentes, e esse repositório é para a trilha de Java.
O projeto consiste em um sistema de certificações, onde os alunos podem tirar certificações em certas tecnologias, além de ter uma sessão de perguntas e respostas. As top 10 pessoas que mais acertaram perguntas aparecem no ranking.
├── modules/
│ ├── certifications/
| | ├── controllers/
| | └── useCases/
│ ├── questions/
| | ├── controllers/
| | ├── dto/
| | ├── entities/
| | └── repositories/
│ ├── students/
| | ├── controllers/
| | ├── dto/
| | ├── entities/
| | ├── repositories/
| | └── useCases/
├── seed/
│ └── CreateSeed.java
modules
aqui é onde fica tudo o que é necessário para rodar a aplicação, como as classes que criam as tabelas no banco de dados e outras configurações necessárias para rodar a aplicação.
seed
configuração para executar um sql de criação do banco e também de inserção de dados.
certifications
pasta com as configurações das certificações que existem dentro do sistema.
questions
as questões e respostas que o sistema comporta
students
os estudantes que tiram suas certifications
e respondem as questions
controllers
a camada de controle de cada uma das entidades descritas acima. Ela serve para enviar e receber requisições HTTP, além de outras configurações
dto
são objetos, parecidos com as entidades, mas que servem para manipular somente alguns dados da entidade, e normalmente são utilizados no body
da requisição como request/response
entities
as entidades da aplicação em si. Elas guardam as informações que serão criadas dentro do banco de dados e são fundamentais para o funcionamento do sistema.
repositories
camada onde acontece a persistência dos dados recebidos no banco de dados.
useCases
camada onde ficam registradas todas as regras de negócio da aplicação, e é também comumente nomeada como camada de serviço.
- Java 17
- Spring Boot
- Docker