Skip to content

Todos códigos feito durante as aulas da segunda semana no goStack

Notifications You must be signed in to change notification settings

AmauriOliveira/Segunda-Semana-GoStack

Repository files navigation

Segunda semana GoStack

Aqui tem todo código feito na minha jornada de aprendizagem

GitHub last commit license GitHub repo size

🔭 Overview

🏠 Homepage

Node com TypeScript

Aprendi sobre


  • Sempre adicione o typescript como dependência de desenvolvimento e depois rode yarn tsc --init para gerar o arquivo de configuração.

  • Sempre que adicionar um pacote verifique se tem o @types dele e instale como dependência de desenvolvimento.

yarn tsc

converte TypeScript em JavaScript.

- yarn add ts-node-dev -D

Extremamente rápido para se visualizar modificações feito no código em tempo de desenvolvimento.

  ts-node-dev --transpile-only --ignore-watch node_module src/server.ts

--transpile-only, não vai verificar sem tem erros de tipos.

--ignore-watch node_module, ignora a observação e compilação da pasta node_module.

  • Models, que ele representa uma entidade (tabela) no banco de dados.

  • Repository, que eles manipulam os dados das models.

  • Services, fica com a responsabilidade sobre todas regras de negócios.

SOLID

  • SoC, Separation of Concerns (Separação de Preocupação), que cada parte do código tenha apenas uma preocupação.

  • Dependency Inversion (Inversão de Dependência), sempre que tem uma dependência externa deve receber a instancia como parâmetro do construtor da classe

Instalar o eslint no node

yarn add eslint@6.8.0 -D
yarn eslint --init

Respostas

  • To check syntax, find problems, and enforce code style
  • JavaScript modules (import/export)
  • None of these
  • Yes
  • Node
  • Use a popular style guide
  • Airbnb: https://github.com/airbnb/javascript
  • JSON
  • No
yarn add @typescript-eslint/eslint-plugin@latest eslint-config-airbnb-base@latest eslint-plugin-import@^2.21.2 @typescript-eslint/parser@latest -D

Docker

Comando para criar um container

docker run --name GoBarber-postgres -d -p 5432:5432 -e POSTGRES_PASSWORD=amauri32 postgres

Levantando um container do PostgreSQL na porta 5432

docker ps

Lista todos containers ativos

docker ps -a

Lista todos containers ativos e não ativos

docker start **id**
docker stop **id**

Ligar e desligar os containers, o ID é o que vem ao executar “docker os”

Migration

Elas servem para controlar a versão do banco de dados, assim como o git faz com os códigos.

Requer configuração no ormconfig.json

yarn typeorm migration:create -n CreateAppointments

Só pode ser alterada caso ainda não tenha sido mandando para um controle de versão, ou seja ela está apenas em sua máquina, caso contrário tem de criar uma nova migration para fazer as alterações.

No exemplo foi criado uma chamada CreateAppointments

yarn typeorm migration:run

Rodando as migration após criar e configurar

yarn typeorm migration:revert

Para limpar as migration que foram executadas

yarn typeorm migration:show

Para mostrar o status das migration

JWT

Uma forma de gerar um sistema de Sesstion com token que tem data de expiração

Git

.gitkeep arquivo serve para mandar uma pasta vazia, por padrão não são mandadas !tmp/.gitkeep, ao usar isso no arquivo .gitignore abre uma exceção

Site para gerar um MD5

http://www.md5.cz/

Site para testar o Token

https://jwt.io/

DDD

Domain Driver Design

DDD é uma metodologia que se aplica somente ao backend, onde cada se separa os arquivos com base em qual dominio eles estão relacinados.

TDD

Test Driver Development

TDD é uma mtetodologia onde você primeiro cria os testes que tem as regras de como a aplicação deve funcionar.

🌟 Contributing

Contributions, issues and feature requests are welcome!

  • ⭐️ Star the project
  • 🐛 Find and report issues
  • 📥 Submit PRs to help solve issues or add features

Feel free to check issues page. You can also take a look at the contributing guide.

🙇 Author

Amauri Oliveira

*Email: amauriibate32@hotmail.com

*GitHub: @amaurioliveira

*LinkedIn: @amauri-oliveira-058066192

📚 License

Copyright © 2020 Amauri Oliveira This project is MIT licensed.

About

Todos códigos feito durante as aulas da segunda semana no goStack

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published