https://github.com/franciscowallison/nlw-04-nodejs
Projeto desenvolvido durante a 4° edição da NLW na trilha de NODE JS Da Rocketseat .
https://github.com/franciscowallison/nlw-04-nodejs
docker docker-compose jenkins jenkins-pipeline jenkinsfile mysql nodejs postgres sqlite testing
Last synced: 2 months ago
JSON representation
Projeto desenvolvido durante a 4° edição da NLW na trilha de NODE JS Da Rocketseat .
- Host: GitHub
- URL: https://github.com/franciscowallison/nlw-04-nodejs
- Owner: FranciscoWallison
- Created: 2021-02-23T21:43:43.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-08-08T11:40:02.000Z (almost 5 years ago)
- Last Synced: 2025-12-31T23:56:08.751Z (6 months ago)
- Topics: docker, docker-compose, jenkins, jenkins-pipeline, jenkinsfile, mysql, nodejs, postgres, sqlite, testing
- Language: TypeScript
- Homepage:
- Size: 2.41 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [NLW#4] Start Project NodeJs e ...Docker, Docker-Compose, Jenkis, DockerHub, Sqlit, Mysql, Porstgres, Testing e CI/CD
[](https://postimg.cc/SXjgmMhw)
NPS-API Net Promoter Score
Projeto desenvolvido durante a 4° edição da NLW na trilha de NODE JS Da Rocketseat .




## 📕 Indice
* [📋 Sobre](#-sobre-o-projeto)
* [🚀 Milhas Extras:](#-milhas-extras)
* [:cyclone: CI/CD](#cicd)
* -[:artificial_satellite: Pipeline Jenkis](#pipeline)
* -[:white_check_mark: Testing sqlite, mysql e postgres](#testing-sqlite-mysql-e-postgres)
* -[:shopping_cart: Deliveri](#repo)
* [🦸 Observações e dicas para esta utilizando projeto.](#obs)
## 📋 Sobre o projeto
O NPS-API é uma API Restful para Net Promoter Score.
Aplicação web construída na trilha NodeJS da Next Level Week distribuída pela [Rocketseat](https://rocketseat.com.br/).
````
O NPS-NLW é uma aplicação que consiste em calcular o NPS da empresa.
Nele fazemos o cadastro de usuários, cadastro de pesquisas, envio de e-mail
para os usuários responderem as pesquisas de satisfação e com isso podemos realizar o cálculo do NPS.
Esse projeto foi desenvolvido durante a trilha de NodeJS, na quarta edição da NLW.
Aprendemos conceitos sobre o que é um API, como iniciar um projeto utilizando
Typescript e Express para gerenciamento das rotas,
TypeORM para manipulação dos dados, testes automatizados e envio de e-mail.
````
## 🚀 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/)
- [Docker](https://www.docker.com/)
- [DockerHub](https://hub.docker.com/)
- [Jenkins](https://www.jenkins.io/)
## CI/CD
#### Pipeline

#### Testing sqlite, mysql e postgres
  
### Repo
[Link DockerHub](https://hub.docker.com/repository/docker/chicowall/nlw-04-nodejs/)

## OBS: COMANDOS RAPIDOS E ACESSIBILIDADE
#### 1 Lembrar de abrir o bash e instalar o "npm install".
#### 2 Para estar selecionando os [DRIVES](https://github.com/FranciscoWallison/nlw-04-nodejs/blob/main/docker-compose.yml#L21).
#### 3 O comando [yarn dev-mr](https://github.com/FranciscoWallison/nlw-04-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-04-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 Possiveis erros e suas soluções [aqui](https://github.com/FranciscoWallison/nlw-04-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
## 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;
# Testing continuous integration
## Comandos básicos jenkins
#### Primeiro acesso Senha
- cat /var/jenkins_home/secrets/initialAdminPassword
# Erros
## Table 'database_nlw_test.surveys' doesn't exist
#### Solução
- yarn typeorm schema:drop -c "$CONNECTION_DRIVE"_test