didifive / api-dioshopping

Backend desenvolvido como projeto para o Bootcamp "Inter Frontend Developer" da DIO

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Integrando um Backend em Node.js com um Frontend em React para um E-commerce

Digital Innovation One

Bootcamp "Inter Frontend Developer"


API Backend em Node.js com PostgreSQL

Projeto desenvolvido com instruções de Nathally Souza na trilha de estudo do Bootcamp "Inter Frontend Developer" da dio.me.

Repository language count Made by Nathally Update by Didi GitHub last commit License

Node.js TypeScript

Link da base utilizada neste projeto: nathyts/api-dioshopping.

Abaixo seguem modificações feitas em relação ao projeto base:

  • Foi alterado o banco de dados para PostgreSQL, o banco está hospedado em ElephantSQL com plano free;
  • As informações de conexão foram colocadas em variáveis de ambiente no arquivo .env;
  • Criadas mensagens para .then() e .catch() no createConnection() do arquivo database/index.ts;
  • Além do email e mensagem que já existiam, foi adicionado campo para "nome" na entidade Message;
  • Incluído na resposta da API o status code para informar se a requisição ocorreu normalmente (status 200) ou se foi gravado novo registro (status 201);
  • Criada condicional para checar se email já foi utilizado que retornará o HTTP status code 403 - Forbidden caso realmente já foi usado;
  • Criado endpoint para deletar mensagem, assim o cliente (frontend) pode apagar mensagens indevidas.

Observações para rodar o projeto baixado:

  • Para instalar os arquivos de dependências do projeto, basta rodar o comando yarn install ou npm install;
  • Para o repositório será disposto o arquivo .env.example com as variáveis de ambientes utilizadas pelo TypeORM para conexão com o banco, basta informar a url de conexão com o PostgreSQL na variável TYPEORM_URL e renomear o arquivo para .env;
  • Para iniciar o servidor localmente, basta rodar o comando yarn dev ou npm run dev.

Endpoints da API

  • Confirmar se servidor está rodando: GET /
  • Listar todas as mensagens: GET /message
  • Criar/salvar nova mensagem: POST /message
  • Deletar mensagem: DELETE /message/delete/{id}

Para testar localmente os Endpoints, foi adicionado ao projeto uma coleção do Postman que já possuí modelos e testes de requisições HTTP. O arquivo está na pasta postman


Deployed in Heroku

Projeto online pelo Heroku: api-dioshopping-didi.herokuapp.com/


Frontend em React para este projeto


Links Interessantes

About

Backend desenvolvido como projeto para o Bootcamp "Inter Frontend Developer" da DIO


Languages

Language:TypeScript 96.4%Language:Shell 3.6%