Skip to content

Teste realizado para estágio em back-end da Nave.rs

Notifications You must be signed in to change notification settings

Yxav/estagio-backend

Repository files navigation

Teste de estágio de Back-end - NAVE

Exercícios de lógica

Yuri Xavier -Code Sandbox

API

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.

Antes de começar

Instalação

  1. Instale o Node, na versão LTS;
  2. Instale o banco de dados PostgreSQL;
  3. Instale as dependências usando o yarn ou npm: npm install ou yarn;

Antes de rodar:

  1. 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
  1. Faça uma cópia do arquivo .env-example, e renomeie para .env, depois complete com os dados acima

Ou

Execute o script test.sh, que fará a criação do banco de dados e usuário automaticamente.

Próximos passos

  1. Execute o código de migrações: npm run db:up, que realizará as migrações e inserção de dados no banco.
  2. Execute o código para rodar o projeto: npm start

Insomnia

Run in Insomnia}

Extra

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.

API endpoints

GET

/navers Index navers
/navers/:id Show naver

/projects Index projects
/projects/:id Show project

POST

/navers https://teste-nave-yuri-xavier.herokuapp.com/navers
/projects https://teste-nave-yuri-xavier.herokuapp.com/projects

Dificuldades

  • 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 respectivos projects.

    Extra

    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.

About

Teste realizado para estágio em back-end da Nave.rs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published