Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/glaucia86/live-coding-tdd-node
Repositório responsável pelo live coding realizado no canal Twitch.tv
https://github.com/glaucia86/live-coding-tdd-node
chai crud express mocha mongodb nodejs restful-api tdd
Last synced: 22 days ago
JSON representation
Repositório responsável pelo live coding realizado no canal Twitch.tv
- Host: GitHub
- URL: https://github.com/glaucia86/live-coding-tdd-node
- Owner: glaucia86
- License: mit
- Created: 2019-02-11T00:09:55.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-11-19T15:48:14.000Z (almost 4 years ago)
- Last Synced: 2024-10-04T17:48:57.267Z (about 1 month ago)
- Topics: chai, crud, express, mocha, mongodb, nodejs, restful-api, tdd
- Language: JavaScript
- Homepage: https://www.twitch.tv/glaucia_lemos86
- Size: 85.9 KB
- Stars: 9
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Live Coding Twitch.tv: API RestFul TDD Node.js com Mocha & Chai
[![Evento-Twitch-Glaucia-Lemos.jpg](https://i.postimg.cc/t4jZGk9D/Evento-Twitch-Glaucia-Lemos.jpg)](https://postimg.cc/crF4QQg8)
## Recursos Utilizados no Desenvolvimento da Aplicação: 🚀
- **[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=javascript-0000-gllemos)**
- **[Node.js](https://nodejs.org/en/) ~ v.10**
- Pacotes:
- **[Mochajs](https://mochajs.org/)**
- **[Chaijs](https://www.chaijs.com/)**
- **[Eslint](https://eslint.org/)**
- **[Postman](https://www.getpostman.com/)**
- **[MongoDb Compass](https://www.mongodb.com/download-center/compass)**
- **[MongoDb Community Server](https://www.mongodb.com/download-center/community)**
- **[Cadastro no Site Travis-ci.org](https://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](https://youtu.be/JhXyr-fNHGs)
- [TDD com Node.js Mocha & Chai - Parte II](https://youtu.be/1Cr7l3J4m6g)
- [TDD com Node.js Mocha & Chai - Parte III](https://youtu.be/LwXAFCZq41c)
- [TDD com Node.js Mocha & Chai - Parte IV](https://youtu.be/p2QisBfNXMo)
- [TDD com Node.js Mocha & Chai - Parte V](https://youtu.be/MwVCklHp8C8)## 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:
- Node.Js: [AQUI](https://nodejs.org/en/download/package-manager/)
- MongoDb: [AQUI](https://docs.mongodb.com/v3.0/administration/install-on-linux/)## 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": "[email protected]",
"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": "[email protected]",
"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](https://github.com/glaucia86/live-coding-tdd-node/issues)** no repositório com a sua dúvida. Assim que possível, estarei respondendo as todas as dúvidas que tiverem!