Em janeiro de 2021, fiz parte de um processo seletivo quando eu tinha 3 meses de conhecimento em programação. Foi um grande desafio, tive inúmeros impactos e dificuldades para desenvolver o projeto, e por muito tempo, achei que não conseguiria fazer a parte mais básica. Continuei a passar nas etapas do processo, entreguei o projeto, mas não recebi resposta nenhuma sobre a vaga (depois descobri que acontece muito).
Entretanto, a minha primeira entrega não me agradou muito (aliás, nem sei se funcionava). Portanto, desafiei-me quase 2 anos depois a refazer o projeto com o meu conhecimento atual.
Pode encontrar o código da minha primeira versão aqui.
A escola Alf aplica provas de múltipla escolha para os alunos. A nota aluno na prova é determinada pela média ponderada das questões com os pesos de cada questão. Cada questão correta soma 1 ponto multiplicada pelo peso e cada questão errada 0. A nota final é a média aritmética das notas de todas as provas.
Criar uma API restful, utilizando a linguagem java ou python.
- Cadastrar o gabarito de cada prova
- Cadastrar as respostas de cada aluno para cada prova
- Verificar a nota final de cada aluno
- Listar alunos aprovados
- A nota da prova é sempre maior que 0 e menor que 10
- A quantidade máxima de alunos é 100
- O peso de cada questão é sempre um inteiro maior que 0
- Os alunos aprovados tem média de notas maior do que 7
- A entrada e saída de dados deverá ser em JSON
- Java
- Spring Framework
- Docker
- GitHub Actions
- Sonar Lint
- Gradle
- Mockito
- Mapstruct
- Lombok
- H2 Database
- Postgres
- Cadastrar aluno
- Cadastrar respostas do aluno
- Verificar o exame cadastrado
- Cadastrar gabarito da prova
- Verificar a nota final de cada aluno
- Buscar aluno pela matrícula
- Listar alunos aprovados
- Clone o repositório
- No terminal (da sua preferência), vá até à pasta do projeto.
cd challenge-school/
- Abra o arquivo application.yaml e altere a linha 6, para test.
- No seu terminal, execute o comando:
./gradlew clean build
- Após ele terminar de executar o build da aplicação, execute o comando:
java -jar build/libs/school-0.0.1-SNAPSHOT.jar
- PostgreSQL instalado
- Clone o repositório
- No terminal (da sua preferência), vá até à pasta do projeto.
cd challenge-school/
- Execute o comando:
./gradlew clean build docker compose up -d
Isso automatizará todo o processo anterior.
- Abrir terminal na pasta raiz do projeto
- Rodar o comando
make run
Giulia Marcela |
Sou natural de Petrópolis, Rio de Janeiro. Mas atualmente moro em Blumenau, Santa Catarina. No ano de 2020, fiz parte do Programa de Residência de Software, do Serratec. Uma imersão full stack, desde algoritmos ao desenvolvimento de aplicativos mobile. |