Implementação de exercício proposto demandando a elaboração de uma API de funcionalidades básicas para um sistema de locação de filmes.
- Node.js
- npm ou yarn
- MySQL
Para utilizar a API em desenvolvimento, siga um dos procedimentos abaixo.
Para subir um container da aplicação e de todas suas dependências, execute o comando
$ docker-compose up -d
Por padrão, o container da API utiliza a porta 3000 e o MySQL a porta 3306 do host. Assim, certifique-se que essas portas estão disponíveis em seu ambiente. Caso não queira utilizá-las, altere o mapeamento de portas no arquivo docker-compose.yml. Não alterar as portas do container (após ':').
app:
...
ports:
- {PORTA_DO_HOST}:3000
database:
...
ports:
- {PORTA_DO_HOST}:3306
$ npm install
Uma vez que dinâmicas conforme cada ambiente, as configurações, como palavra-chave para encriptação de tokens e credenciais do banco de dados são consumidas de um arquivo .env. Recomenda-se seguir este padrão. Para isso:
- Copiar o arquivo .env.example na raíz e nomeá-lo .env, ainda na raíz.
- Inserir os valores no .env conforme setup disponível
Se preferir inserir manualmente, as configurações do banco de dados estão disponíveis em config/config.js
Rodar, respectivamente, os seguintes comandos no terminal
$ npm run db:create
$ npm run db:setup
Se preferir manualmente, o script de criação do banco de dados está disponível em db/db.sql
$ npm start
A documentação está disponível no browser no momento da inicialização do projeto sob o endpoint raíz /
. Há também um arquivo Postman.json
, com exemplos de requests, para importação no Postman.
A fim de abstrair comandos de execução de tarefas constantes, dispõe-se de alguns scripts no arquivo package.json
$ npm run db:create
$ npm run db:drop
$ npm run db:migrate
$ npm run db:seed
$ npm run db:setup
$ npm run docs:generate