Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/franciscowallison/nlw-05-nodejs

Projeto desenvolvido durante a 5° edição da NLW na trilha de NODE JS Da Rocketseat .
https://github.com/franciscowallison/nlw-05-nodejs

docker docker-compose jenkins jest mongodb mysql nodejs postgresql sonarqube sqlite3

Last synced: about 19 hours ago
JSON representation

Projeto desenvolvido durante a 5° edição da NLW na trilha de NODE JS Da Rocketseat .

Awesome Lists containing this project

README

        

# [NLW#5] Start Project NodeJs e Docker, Docker-Compose, Jenkins, SonarQube Heroku, Sqlit, Mysql, Porstgres, Mongodb, Testing e CI/CD

NPS-API Net Promoter Score

Projeto desenvolvido durante a 5° edição da NLW na trilha de NODE JS Da Rocketseat .


GitHub contagem de linguagens

Tamanho do repositório



licensa


GitHub último commit

Wallison

## 📕 Indice

* [📋 Sobre](#-sobre-o-projeto)
* [🚀 Milhas Extras:](#-milhas-extras)
* [:cyclone: CI/CD](#cicd)
* -[:artificial_satellite: Pipeline Jenkis](#pipeline)
* -[:white_check_mark: Testing sqlite, mysql , postgres, mongoDB](#testing-sqlite-mysql-e-postgres)
* -[:shopping_cart: Screenshot](#screenshot)
* [🦸 Observações e dicas para esta utilizando projeto.](#obs)



## 📋 Sobre o projeto

O NPS-API é uma Chat utilizando socket.io.

## 🚀 Milhas Extras
Esse projeto foi desenvolvido com as seguintes tecnologias:
- [Typescript](https://www.typescriptlang.org/)
- [Node.js](https://nodejs.org/en/)
- [Express](https://expressjs.com/pt-br/)
- [NPM](https://www.npmjs.com/)
- [Typeorm](https://typeorm.io/)
- [Jestjs](https://jestjs.io/)
- [Sqlite](https://www.sqlite.org/)
- [MySql](https://www.mysql.com/)
- [Postgres](https://www.postgresql.org/)
- [MongoDB](https://www.mongodb.com/)
- [Docker](https://www.docker.com/)
- [Heroku](https://dashboard.heroku.com/)
- [Jenkins](https://www.jenkins.io/)
- [SonarQube](https://www.sonarqube.org/)

## :cyclone: CI/CD
#### Pipeline
[Link do Artigo Jenkins](https://github.com/FranciscoWallison/Desenvolvimento-de-aplicacoes-com-Microsservicos/tree/master/Devops/JENKINS)
![jenkis](https://github.com/FranciscoWallison/nlw-04-nodejs/blob/master/inforFiles/jenkis.png)
[Link do Artigo SonarQube](https://github.com/FranciscoWallison/Desenvolvimento-de-aplicacoes-com-Microsservicos/tree/master/Devops/SonarQube)
![SonarQube](https://github.com/FranciscoWallison/Desenvolvimento-de-aplicacoes-com-Microsservicos/blob/master/Devops/SonarQube/fotos/sonar_dashboard.png)

### Deploy
Esse projeto se utiliza dos serviços gratuitos do heroku, montado com docker
[Link Heroku](https://nlw-05-nodejs.herokuapp.com/pages/client)
### Screenshot
![screenshot](https://github.com/FranciscoWallison/nlw-05-nodejs/blob/master/imgs/home.png)
![screenshotbot](https://github.com/FranciscoWallison/nlw-05-nodejs/blob/master/imgs/bot_nlw.png)

## OBS:
#### 1 Lembrar de abrir o bash e instalar o "npm install".
#### 2 Para estar selecionando os [DRIVES](https://github.com/FranciscoWallison/nlw-05-nodejs/blob/main/docker-compose.yml#L21).
#### 3 O comando [yarn dev-mr](https://github.com/FranciscoWallison/nlw-05-nodejs/blob/main/nodejs/package.json#L10) ajudará a startar o projeto com as migrações.
#### 4 O comando [yarn typeorm-mc](https://github.com/FranciscoWallison/nlw-05-nodejs/blob/main/nodejs/package.json#L11) ajudará a criar a migração na database selecionada. exemplo ```typeorm-mc ```.
#### 5 Referencia utilizada para criar webhook com jenkins, github e dockerhub [aqui](https://medium.com/@naistangz/building-a-ci-cd-pipeline-for-a-node-js-app-with-docker-and-jenkins-ee6db6e70d25).
#### 6 Possíveis erros e suas soluções [aqui](https://github.com/FranciscoWallison/nlw-05-nodejs#table-database_nlw_testsurveys-doesnt-exist).

_______
## Comandos básicos Docker e DOCKER-COMPOSE
#### Executando docker-compose
- docker-compose -f "docker-compose.yml" down
- docker container exec -u 0 -it 14802ce72cc4 bash
## Comandos básicos MIGRATIONS
#### Executando migrations
- yarn typeorm migration:run
#### Revertendo migrations
- yarn typeorm migration:revert
#### Criando migrations
- yarn typeorm migration:create -n CreateUsers

# Banco
## Comandos básicos SQLITE
#### Install sqlite3 LINUX
- sudo apt install sqlite3
#### Acessando banco
- sqlite3 database.sql
#### Lista todos as tabelas
- .tables

## Comandos básicos POSTGRES
- psql -U postgres
#### Lista todos os bancos
- \l
#### Selecionar o banco
- \c database_nlw postgres
#### Lista todos as tabelas
- \d

## Comandos básicos MYSQL
- mysql -uroot -proot
#### lista todos os bancos
- show databases;
#### Selecionar o banco
- USE database_nlw;
#### Lista todos as tabelas
- show tables;

# Erros
## Table 'database_nlw_test.surveys' doesn't exist
#### Solução
- yarn typeorm schema:drop -c "$CONNECTION_DRIVE"_test