Este repositório contém o projeto referente a minha participação na 2ª fase do processo seletivo do Insper Mileage na área de Software.
A atividade consiste na criação de uma API REST utilizando os principais métodos HTTP. Para isso, há duas opções de linguagem: utilizar nodeJS e, de preferência, com Typescript, ou utilizar Python. Na qual optei por utilizar nodeJS. Então, deve-se:
-
Criar uma aplicação utilizando os frameworks Express e Prisma (opcional). Com a possibilidade de utilizar outras bibliotecas na implementação da aplicação.
-
Utilizar um Database relacional, atualizando esse database localmente. Contendo uma tabela
Carros
, com informações como:modelo
,marca
,motor
,nome do piloto
. Com a liberdade de adicionar mais informações se necessário. -
A
API
deve conter rotas capazes de:
- Acessar a informação de todos os carros;
- Adicionar um novo modelo a tabela;
- Alterar o valor do motor de algum dos modelos;
- Deletar um dos modelos;
- Filtrar os carros pelo motor.
- Hospedar a aplicação em algum serviço de nuvem para aplicações.
fetch("https://stark-ravine-77496.herokuapp.com/modelos", {
method: "GET"
})
fetch("https://stark-ravine-77496.herokuapp.com/modelos/[motor]", {
method: "GET"
})
fetch("https://stark-ravine-77496.herokuapp.com/modelos", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
password,
data: {
modelo,
marca,
motor,
piloto
}
})
})
fetch("https://stark-ravine-77496.herokuapp.com/modelos/[id]", {
method: "PUT",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
password,
data: {
modelo,
marca,
motor,
piloto
}
})
})
fetch("https://stark-ravine-77496.herokuapp.com/modelos/[id]", {
method: "DELETE",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
password
})
})
Através do cliente online, é possível fazer todo tipo de interação com o banco de dados utilizando da API REST em uma interface gráfica.
As ações que modificam o boanco de dados (adição, modificação e remoção) exigem uma palavra-passe. Para obtê-la, entre em contato comigo!
O arquivos database.sql possui os comandos SQL para criar uma base de dados com o esquema deste projeto.
As seguintes variáveis de ambiente, que pode mser declaradas em um arquivo .env
na raiz do projeto, são necessárias:
- DATABASE_URL: Endereço do banco de dados;
- API_PASS: Palavra-chave para requisições na API.
Este projeto está sob a licença do MIT!