Skip to content

Projeto Back-end do Curso: Semana OmniStack 11.0 da Rocktseat

Notifications You must be signed in to change notification settings

natancardosodev/Be-The-Hero-Service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Be The Hero - Service

O Be The Hero, do inglês, 'Seja o Herói, foi a aplicação desenvolvida na Semana OmniStack 11 da Rocktseat. Essa aplicação tem como objetivo conectar pessoas que querem ajudar uma organização não governavental (ONG). Através da aplicação serão listados casos que precisam de ajuda. Esse é o projeto back-end feito com Node.JS.

Instalação

-- Instalar pacotes npm
npm install
-- gerar todas as migrations
npm run update-db

Execução

npm run start

Caso seja necessário excluir a base de dados, execute: npm run rm-db. Depois gere novamente as migrations.

Testes unitários e de integração com Jest

npm run test

Ferramentas utilizadas

  • Node.JS - Uma plataforma escrita em cima do motor V8 do Google Chrome. Sendo assim, é possível criar aplicações Javascript para rodar como uma aplicação standalone em uma máquina, não dependendo de um browser para a execução.
  • Express - É um framework para Node.js que contém um conjunto de recursos para desenvolver aplicações web, como um sistema de Views intuitivo (MVC) e um robusto sistema de roteamento.
  • Nodemon - É um utilitário que irá monitorar todas as alterações nos arquivos de sua aplicação e reiniciar automaticamente o servidor quando for necessário.
  • CORS - (Cross-Origin Resource Sharing) é uma especificação do W3C que, quando implementado pelo navegador, permite que um site acesse recursos de outro site mesmo estando em domínios diferentes.
  • SQLite - É uma base de dados independente que opera sem a necessidade de um servidor. Suporta estes tipos de dados: Blob, Integer, Null, Text e Real
  • Knex - É um construtor de consultas SQL (Query Builder), usado principalmente para aplicativos Node.js, com criação de esquema de modelo integrada e migrações de tabelas:
npx knex init // cria arquivo knexfile.js
// Adicione os diretorios a configuração
npx knex migrate:make create_ongs 
// Configure a migration
npx knex migrate:latest // gera todas as migrations

Tipos de Parâmetros

  • Query: Parâmetros nomeados enviados na rota após "?" (Filtros, Paginação) - request.query;
  • Route Params: Parâmetros utilizados para identificar recursos (/:id) - request.params;
  • Request Body: Corpo da requisição, utilizado para criar ou alterar recursos - request.body;

Environment no Insomnia

Endpoint: {{ base_url }}{{ endpoint }}

{
  "base_url": "http://localhost:3333",
  "endpoint": "/ongs"
}

Endpoints

ONGS

{
	"name": "APESOC",
	"email": "[email protected]",
	"whatsapp": "83000000",
	"city": "João Pessoa",
	"uf": "PB"
}

INCIDENTS (Casos)

Header Response: 'X-Total-Count': Total de incidents

Header Request: 'Authorization': '410ace8b' (ong_id)

{
	"title": "Caso Joao",
	"description": "Detalhes do caso",
	"value": 80
}

Header Request: 'Authorization': '410ace8b' (ong_id)

PROFILE (Get Ong Incidents)

Header Request: 'Authorization': '410ace8b' (ong_id)

SESSION

{
	"id": "410ace8b"
}

About

Projeto Back-end do Curso: Semana OmniStack 11.0 da Rocktseat

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published