arthurcerveira / Desafio-Nave

NodeJS REST API connected to PostgreSQL database

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Desafio Nave

Exercícios de Lógica

A resolução dos exercícios de lógica pode ser encontrada no CodeSandbox.

Desafio de back-end

O Desafio de back-end consiste em uma API desenvolvida em node.js com express, conectada a um banco de dados PostgreSQL através do knex. Essa aplicação segue os princípios do padrão MVC. O sistema foi desenvolvido em um container Docker e integrado ao banco de dados com docker-compose.

Instruções

Para executar esse container, é necessário possuir git, Docker, e docker-compose instalados.

Primeiro você deve clonar o repositório para sua máquina com git.

$ git clone https://github.com/arthurcerveira/Desafio-Nave.git

Então será necessário criar os containers e executá-los com docker-compose.

$ cd Desafio-Nave
$ docker-compose build
$ docker-compose up -d

A API agora estará sendo executada no endereço localhost:5000/.

Para interromper a execução dos containers, basta executar o comando:

$ docker-compose down

Endpoints

A documentação completa da API está disponível no Postman.

Navers

GET localhost:5000/naver

Retorna todos os Navers.

GET localhost:5000/naver/:id

Recebe o ID do Naver como parâmetro e retorna seus dados e os projetos que faz parte.

POST localhost:5000/naver/

Cria um novo Naver informando seus dados e os projetos que participa.

Exemplo de body da requisição:

{
  "name": "Fulano",
  "birthdate": "1998-06-12",
  "admission_date": "2020-06-12",
  "job_role": "Desenvolvedor",
  "projects": [3]
}

Projetos

GET localhost:5000/project

Retorna todos os projetos.

GET localhost:5000/naver/:id

Recebe o ID do projeto como parâmetro e retorna seus dados e os Navers que participam.

POST localhost:5000/naver/

Cria um novo projeto informando seus dados e os Navers que participam.

Exemplo de body da requisição:

{
  "name": "Projeto Bom",
  "navers": [1]
}

Exercício de Banco de Dados

A resolução dos exercícios de Banco de Dados podem ser encontradas no diretório EB na raiz do repositório.

Para testar os scripts no PostgreSQL, basta iniciar o container com docker-compose.

$ cd EB/
$ docker-compose up -d

Então deve-se acessar o container e executar os scripts.

$ docker-compose exec db psql --username=nave --dbname=ebs
psql (13.1)
Type "help" for help.

ebs=$ \i EB/EB1.sql
ebs=$ \i EB/EB2.sql
ebs=$ \i EB/EB3.sql
ebs=$ \i EB/EB4.sql
ebs=$ \i EB/EB5.sql

Desafio de front-end

Desafio de front-end consiste em uma interface apresentando dados de uma API. Essa interface pode ser acessada pelo Github Pages.

About

NodeJS REST API connected to PostgreSQL database


Languages

Language:JavaScript 48.6%Language:Shell 27.6%Language:PLpgSQL 11.0%Language:CSS 6.2%Language:HTML 4.2%Language:Dockerfile 2.4%