Solução do desafio proposto pela Nave, para a vaga de estágio em Back-end. API construída com Node.JS, PostgreSQL, Express e Objection.
- Instale o Node, na versão LTS;
- Instale o banco de dados PostgreSQL;
- Instale as dependências usando o yarn ou npm:
npm install
ouyarn
;
- Será necessário criar um banco de dados, com os comandos abaixo:
- CREATE USER nave WITH PASSWORD nave
- CREATE DATABASE navetest
- GRANT ALL PRIVILEGES ON DATABASE navetest to nave
- Faça uma cópia do arquivo .env-example, e renomeie para .env, depois complete com os dados acima
Execute o script test.sh
, que fará a criação do banco de dados e usuário automaticamente.
- Execute o código de migrações:
npm run db:up
, que realizará as migrações e inserção de dados no banco. - Execute o código para rodar o projeto:
npm start
Esta API se encontra em produção no link: https://teste-nave-yuri-xavier.herokuapp.com/navers
A primeira request poderá ser lenta, por conta do sleep mode, devido ao plano de hospedagem free.
/navers
Index navers
/navers/:id
Show naver
/projects
Index projects
/projects/:id
Show project
/navers
https://teste-nave-yuri-xavier.herokuapp.com/navers
/projects
https://teste-nave-yuri-xavier.herokuapp.com/projects
-
No exercício 10, de lógica, foram necessárias algumas idas à documentação da linguagem, e analisar alguns exemplos, para o melhor uso de Promises.
-
Na construção da API, também foi necessário algum tempo lendo a documentação do Objection e analisando os exemplos fornecidos pelos mesmos, para encontrar a melhor solução no retorno, por exemplo, de um
naver
e seus respectivosprojects
.No momento de realizar o deploy, diversas buscas de como integrar o banco de dados fornecido pelo serviço de hospedagem, mas sem sucesso, sendo necessário a conexão com o banco de dados, de outro serviço.