Este curso trata a criação de uma api utilizando o node juntamento com o SGBD MariaDB
Dentro do arquivo package.json é possível criar "atalhos" para utilizar no momento de execução, alguns ja pré-definidos e outros que podem ser chamados via npm, abaixo temos o codigo utilizado:
"scripts": { "start": "nodemon --inspect app.js", "test": "echo \"Error: no test specified\" && exit 1", "criar-banco": "yarn sequelize db:create", "criar-migration": "yarn sequelize migration:create --name=criar-tabela-xyz", "executar-migration": "yarn sequelize db:migrate", "desfazer-migration": "yarn sequelize db:migrate:undo" },
Veja abaixo alguns atalhos(comandos) e suas implicações
- start -> para debugar e dar reload a qualquer alteração no codigo em tempo real
- criar-banco -> cria o banco de dados via yarn e sequelize
- criar-migration -> migration funciona como o git, salva alterações estruturais feitas no sgbd, este comando cria um migration de nome "criar-tabela-xyz" que será executado após o comando abaixo ser executado
- executar-migration -> faz alguma modificação no banco de dados
- desfazer-migration -> desfaz a ultima migration executada
- Instalar as dependências do (mariadb, sequelize, sequelize-cli, yarn)
- Criar as constantes no arquivo .env
- Criar config de sequelize no diretorio config, criando um arquivo database.
- Criar arquivo .sequelizerc na raiz do projeto
- npm i "packageName" -> instala um pacote/dependência no projeto
- npm.start -> inicializa a api (executa na porta definida)
Para instalar pacotes no projeto node pode-se utilizar o 'npm i ...' que vai baixar o pacote e criar uma pasta de dependências no projeto.
Os pacotes utilizados para o desenvolvimento deste curso são:
- express -> para trabalhar com requisições http
- dotenv -> para trabalhar com variaveis de ambiente
- cors -> para trabalhar com um tipo de requisição
- nodemon -> Faz um relload do servidor após cada alteração
- mysql2 -> SGBD do sistema desenvolvido (Utilizado para o maria db)
- sequelize -> Ele possui um mecanismo de migração muito poderoso que pode transformar um esquema existente de banco de dados em uma nova versão e também fornece mecanismos de sincronização de banco de dados que podem criar estrutura de banco de dados especificando a estrutura do modelo
- sequelize-cli -> Ferramentas para facilitar as operações no SGBD
- yarn -> Gerenciador de pacotes de trás algumas facilidades para trabalhar com o sequelize
- md5 -> Criptografa de forma irreversível
- <.env> É um arquivo de configuração (nele são adicionadas variaveis de ambiente que podem ser acessadas de qualquer lugar do projeto)
- Controllers -> Armazena arquivos que receberão todas as requisições (ele simplesmente recebe, não precisa resolver)