Skip to content

Student Certification é uma API Restfull criada apartir da NLW (Next Level Week) - Expert

Notifications You must be signed in to change notification settings

MarceloGdes/student_certification_nlw_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Student Certification API

Student Certification é uma API Restfull criada apartir da NLW (Next Level Week) - Expert proporcionada pela Rocketseat com o objetivo de ensinar Java com Spring Framework entre outras bibliotecas. Até o momento fizemos funcionalidades basicas sem muitas validações de campos, mas tenho o intuito de continuar a progreção deste app.

Logo Imagem criada com IA

Funcionalidades

  • Validação se o estudante ja fez determinada certificação
  • Retorno de uma lista de questões para cada tecnologia
  • Função de resposta das questões com validação se a certificação foi tirada ou não
  • Retorno de lista de ranking de notas

Stack utilizada

  • Back-end: Java17, Spring Framework, Maeven, Lombok
  • Banco de Dados: PostgreSQL, Docker

Ferramentas Nescessarias

Variáveis de Ambiente

  • Você pode alterar a porta do servidor local no arquivo application.properties, na propriedade server.port

  • Variaveis do banco de dados podem ser alteradas no docker-compose.yaml mas devem atualizadas no application.properties e no CreateSeed.java

Rodando localmente

Clone o projeto

  git clone https://github.com/MarceloGdes/student_certification_nlw_api.git

Entre no diretório do projeto

  cd student_certification_nlw_api

Rode o docker-compose com o Docker aberto em seu computador

  docker-compose up -d

Rode a aplicação para ser criada as tabelas dentro do banco de dados.

  mvn spring-boot:run

Pare a aplicação e injete os dados iniciais do banco de dados rodadando o CreateSeed.java

Rode novvamente a aplicação

  mvn spring-boot:run

Documentação da API

Verifica se o usuário ja tem a certificação

  POST /students/verifyIfHasCertification
BODY
{
	"email": "teste@email.com",
	"technology": "JAVA"
}

Retorna todas as questões com as alternativas

  GET /questions/technology/JAVA

Responder as questões

  POST /students/certification/answer
BODY
{
	"email": "teste@email.com",
	"technology": "JAVA",
	"questionsAnswers": [
		
		{
			"questionID": "c5f02721-6dc3-4fa6-b46d-6f2e8dca9c66",
			"alternativeID": "bafdf631-6edf-482a-bda9-7dce1efb1890"
		},
		{
			"questionID": "b0ec9e6b-721c-43c7-9432-4d0b6eb15b01",
			"alternativeID": "f8e6e9b3-199b-4f0d-97ce-7e5bdc080da9"
		},
		{
			"questionID": "f85e9434-1711-4e02-9f9e-7831aa5c743a",
			"alternativeID": "e4dbf524-0a54-428a-b57c-853996fc8e19"
		}
	]
}

Retorna um Ranking das top 10 certificações por nota

  GET /ranking/top10

About

Student Certification é uma API Restfull criada apartir da NLW (Next Level Week) - Expert

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages