Parte do desafio final do curso Gostack 9 - Bootcamp Rocketseat.
Instale as dependências do projeto.
yarnFaça a configuração do banco de dados PostgreSQL.
Com o docker, crie um container do banco de dados e execute-o na porta de sua preferencia.
docker run --name database -e POSTGRES_PASSWORD=docker -p 5433:5432 -d postgres:11
docker start databaseCrie no seu banco de dados um database chamado gympoint. Pode ser usado um programa como o Postbird ou o DBeaver para esta finalidade.
Copie o arquivo .env-example para .env e adicione as variáveis necessárias.
cp .env-example .envCrie dados ficctícios no banco de dados com as seeds pré-definidas.
yarn sequelize db:seed:allExecute a aplicação.
yarn devCom o backend configurado é possível acessar dados no frontend em ReactJS e no app mobile em React Native disponíveis no github.
Para testes, copiar o seguinte arquivo e setar variáveis.
cp .env.test-example .env.testExecutar testes com jest.
yarn testyarn init -yyarn add nodemon -DEm package.json adicionar
"scripts": {
"dev":"nodemon src/server.js"
}yarn add sucrase -Dyarn sucrase-node src/server.jsTrocar modo de importação de:
const express = require('express');Para:
import express from 'express';Criar na pasta raiz nodemon.json. Quero que rode o node para cada arquivo js mas reqistre o sucrase. Antes de iniciar vai executar sucrase/register.
Iniciar configurações de debug clicando no 'inseto', add configuration e fazer alterações no arquivo launch.json
Iniciar aplicação com yarn dev:debug e colocar breackpoints desejados.
Fazer a instalação
docker run --name database -e POSTGRES_PASSWORD=docker -p 5433:5432 -d postgres:11docker ps = para ver containers.
docker ps -a = para ver todos.
docker stop database (ou o id).
docker start database
docker logs databaseOutros comandos:
docker stop $(docker ps -a -q) = para containers
docker rm $(docker ps -a -q) = remove containers
sudo service postgresql stop = para postgres do pc
sudo service postgresql start = inicia postgres do pcPortanto:
Por ter postgres para outro projeto, deixar porta 5432 para ele. Usar a porta 5433 para o GoBarber.
Para visualizar dados do postgres. Instalar e usar por exemplo:
Host
localhost
Port
5433
Username
postgres
Password
dockeryarn add eslint -D
yarn eslint --init? How would you like to use ESLint? To check syntax, find problems, and enforce code style
? What type of modules does your project use? JavaScript modules (import/export)
? Which framework does your project use? None of these
? Does your project use TypeScript? No
? Where does your code run? Node
? How would you like to define a style for your project? Use a popular style guide
? Which style guide do you want to follow? Airbnb (https://github.com/airbnb/javascript)
? What format do you want your config file to be in? JavaScript
Checking peerDependencies of eslint-config-airbnb-base@latest
The config that you ve selected requires the following dependencies:
eslint-config-airbnb-base@latest eslint@^5.16.0 || ^6.1.0 eslint-plugin-import@^2.18.2
? Would you like to install them now with npm? YesExcluir package.lock.json
Instalar dependencias
yarn installPara arrumar tudo em uma pasta, executar:
yarn eslint --fix src --ext .js = para arrumar tudo em uma pastayarn add prettier eslint-config-prettier eslint-plugin-prettier -DIntegrado ao ESLint Tamanho de linhas
Instalar pelo VSCode. Para diferentes editores de texto entre desenvolvedores. Configurar para padronizar.
Para usar postgres
yarn add pg pg-hstorePara integração com postgres
yarn add sequelizePara ter comandos do sequelize
yarn add sequelize-cli -DPara criar migração inicial
yarn sequelize migration:create --name=create-usersPara realizar migrações
yarn sequelize db:migrateRollback
yarn sequelize db:migrate:undoyarn sequelize db:migrate:undo:allSeeds
Gerar Seed
yarn sequelize seed:generate --name admin-userExecutar seed.
yarn sequelize db:seed --seed admin-useryarn sequelize db:seed:all
yarn sequelize db:seedPara autenticação utilizando jwt.
yarn add jsonwebtokenPara senha com hash
yarn add bcryptjsPara validação de campos utilizando schemas.
yarn add yupUsar versão mais atual.
yarn add date-fns@next yarn add jest @sucrase/jest-plugin @types/jest sqlite3 -D
yarn jest --initPara fazer requests nos testes.
yarn add supertest -DPara dados fake.
yarn add factory-girl faker -D