Skip to content

hdev14/spacexnews-backend

Repository files navigation

SpaceX News (Backend)

Endpoints

USERS NEWS
POST:/users POST:/news
GET:/users GET:/news
GET:/users/:id GET:/news/:id
PUT:/users/:id PUT:/news/:id
DELETE:/users/:id DELETE:/news/:id

Uso

Pre-requisitos

Para iniciar esse projeto é necessário primeiramente instalar todas as dependências e tecnologias para executar o ambiente de desenvolvimento.

Instalar dependências

# Instalar com NPM
$ npm install

ou

# Instalar com Yarn
$ yarn

Execução

Após o download de todas as tecnologias e dependências, basta seguir esses passos:

  1. Execute o docker-compose:
$ docker-compose up
  1. Copie o arquivo env.example e coloque os valores corretos para as variáveis de ambiente:
$ cp .env.example .env
  1. Execute o projeto em modo de desenvolvimento:
npm run dev
# ou
yarn dev

TDD

Esse projeto foi todo desenvolvido utilizando a metodologia de desenvolvimento Test Drive Development, por isso também foram adicionados alguns testes de integração. Para executar os testes, basta utilizar o seguinte comando: npm run test ou yarn test.

Tecnologias utilizadas

  • NodeJS com Typescript;
  • ExpressJS;
  • Mongodb;
  • Docker e Docker-compose;
  • Jest com Supertest (Testes);
  • ESLint e Editorconfig;
  • Husky e Lint-Staged;

UI

O Frontend desse projeto foi desenvolvido com ReactJS e ele se encontra nesse repositório: https://github.com/hdev14/spacexnews-frontend.