Esta API usa Node.js, certifique-se que possui instalado em sua máquina.
Criação do banco de dados está no arquivo create-db.sql
NOTA: Infelizmente não consegui terminar o planejado em tempo hábil. Apenas a parte do docker não está completa.
Para baixar a API deverá seguir as instruções abaixo:
git clone https://github.com/gomeshud/mini-api-notas-escolares.git
cd mini-api-notas-escolares
URL Aluno:
http://localhost:8081
URL Professor:
http://localhost:8082
GET /v1/notas-aluno
GET /v1/notas-aluno/${id}
Parâmetro | Tipo | Descrição |
---|---|---|
ID |
int |
Requirido ID do aluno |
POST /v1/aluno
Parâmetro | Tipo | Descrição |
---|---|---|
NOME |
string |
Requirido Nome do aluno |
{
name: "Nome do aluno",
}
POST /v1/notas
Parâmetro | Tipo | Descrição |
---|---|---|
ID |
string |
Requirido ID do aluno |
n1 |
int |
Requirido Nota 1 |
n2 |
int |
Requirido Nota 2 |
n3 |
int |
Requirido Nota 3 |
n4 |
int |
Requirido Nota 4 |
O corpo da requisição deverá conter:
{
aluno_id: "ID do aluno",
n1: "Nota 1",
n2: "Nota 2",
n3: "Nota 3",
n4: "Nota 4",
}
GET /v1/aluno/${id}
Parâmetro | Tipo | Descrição |
---|---|---|
ID |
int |
Requirido ID do aluno |
Para executar este projeto, você precisará adicionar as variáveis de ambiente seguindo o arquivo .env.example
Será necessário alterar o nome para .env e preencher seguindo as instruções abaixo
DB_URL
: URI do Banco de dados. Foi utilizado um banco de dados criado no elephantsql.
Infelizmente não tive tempo hábil para finalizar todos os requisitos, as APIs estão completas.
MAS o docker ainda não está funcionando.
Para executar as APIs, deve-se entrar em cada diretório (aconselho utilizar 2 terminais) e usar os comandos a seguir:
cd api-aluno
e em outro terminal
cd api-professor
npm install
npm start
Em testes, consegui subir os containers de cada API, mas ao utilizar o Insomnia e Postman, obtive algum erro de conexão entre o host e o container.
Executei os comandos abaixo para criar uma network e iniciar as APIs.
docker network create app-network
docker-compose up -d
Lembrando que em cada diretório (api-aluno e api-professor) deve conter o .env com a URL do banco de dados e a porta.
Em breve espero conseguir desvendar este contratempo.
Caso queira ajudar, toda ajuda/conselho será bem-vinda!
Servidor: Node.js, Express.js
Banco de dados: PostgreSQL