Live Coding Twitch.tv: API RestFul TDD Node.js com Mocha & Chai
Recursos Utilizados no Desenvolvimento da Aplicação: 🚀
- Visual Studio Code
- Node.js ~ v.10
- Pacotes:
- Postman
- MongoDb Compass
- MongoDb Community Server
- Cadastro no Site Travis-ci.org
O que eu vou aprender?! 📘
Nesse live coding, que será divido em 3 ou 4 partes, estaremos desenvolvendo uma api Back-End RestFul CRUD com Node.js integrado com o MongoDb e com realização de Testes de Unidade usando o Mocha & Chai. E no final de desenvolvermos a aplicação, estaremos fazendo a integração da api no site do Travis para realizarmos o C.I para sabermos se de fato os commits que estamos enviando para o Github estão dentro do padrão e passando no C.I.
Vídeos da Série:
- TDD com Node.js Mocha & Chai - Parte I
- TDD com Node.js Mocha & Chai - Parte II
- TDD com Node.js Mocha & Chai - Parte III
- TDD com Node.js Mocha & Chai - Parte IV
- TDD com Node.js Mocha & Chai - Parte V
Executar Localmente o Projeto 🔥
Caso você deseja executar o projeto na sua máquina local, basta seguir os passos abaixo:
Começando... 🌀
Para começar, você deve simplesmente clonar o repositório do projeto na sua máquina e instalar as dependências.
Instalando as Dependências (via Windows): ❗️
Abre o cmd (caso esteja utilizando o Windows) e digite a path do seu projeto
cd "C:\Users\NomeDoComputador\Documents\..."
Depois, quando estiver na pasta do projeto, basta digitar no cmd a seguinte instrução: (dentro do src)
npm install
Ao digitar a instrução acima, automaticamente ele irá baixar todas as dependências listadas e definidas no arquivo package.json:
node_modules
- que contêm os packages do npm que precisará para o projeto.
Instalação dos Programas via Linux: 💥
Estarei disponibilizando os links onde explicam como baixar:
Padrão das Rotas Criadas: 🌟
Procurando seguir o padrão e design das API's, segue abaixo as URI's das rotas a serem desenvolvidas:
obs.: api de exemplo através do site: https://jsonplaceholder.typicode.com
ROTA | HTTP(Verbo) | Descrição | Links (via PostMan) |
---|---|---|---|
/posts | GET | Selecionar Todos os Posts | GET: http://localhost:8000/posts |
/posts | POST | Criar um Post | POST: http://localhost:8000/posts |
/posts/:post_id | GET | Selecionar Por Id | GET: http://localhost:8000/posts/:id |
/posts/:post_id/ | PUT | Atualizar Por Id | PUT: http://localhost:8000/posts/:id |
/posts/:post_id/ | DELETE | Excluir Por Id | DELETE: http://localhost:8000/posts/:id |
Executando a Aplicação 💨
Bom, agora na mesma tela do cmd, basta iniciar o server para o projeto ser executado localmente.
nodemon
Depois, você precisará abrir um outro terminal na sua máquina e iniciar o MongoDb. Basta digitar na tela do cmd o seguinte comando:
mongod
Caso o MongoDb esteja devidamente instalado em sua máquina, ele iniciará o serviço mostrando que a port 27017 foi iniciada.
Agora, abre a página da aplicação em http://localhost:8000
. E pronto a aplicação será executada de maneira local na sua máquina.
Executando os Testes: ⭐️
Basta executar o comando: (dentro da pasta src)
> npm run test
sempre no formato: x-wwwform-urlencoded
[
{
"_id": "59821330eacea81b34c74d64",
"title": "Flamengo - Campeonato Brasileiro 2017",
"name": "Glaucia Lemos",
"email": "glaucia_lemos@yahoo.com.br",
"body": "Jogador não está nos planos e tem rejeição nos bastidores da Gávea. Rubro-Negro evita descartá-lo de forma oficial neste momento - não quer ir contra opinião da torcida de forma tão enfática"
},
{
"_id": "59821472eacea81b34c74d69",
"title": "Futebol Internacional - Neymar",
"name": "Globo Esporte",
"email": "globoesporte@globo.com",
"body": "Messi se despede de Neymar com vídeo de retrospectiva: Foi um prazer enorme"
}
]
Tenho Dúvidas... O que Faço?! 🚩
Caso tenha dúvidas ao código desenvolvido durante o live coding, sinta-se a vontade em abrir uma ISSUE AQUI no repositório com a sua dúvida. Assim que possível, estarei respondendo as todas as dúvidas que tiverem!