- Requerimentos
- Configuração
- Dependências
- Banco de Dados
- Execução da Aplicação
- Banco de Dados
- Rotas da Aplicação
Requer Node.js, Typescript, Nestjs, Docker
Clone o projeto através desse repositório. Edite as variáveis de ambiente no arquivo .env na raiz do projeto para configurar o acesso ao banco de dados. Preencha os valores das variáveis de ambiente conforme exemplo abaixo.
Se o sistema operacional for Windows mesmo configurando a variável DATABASE_HOST
a maioria das vezes a mesma se mantém como localhost.
# DATABASE
DATABASE_TYPE=mysql
DATABASE_HOST=localhost
DATABASE_PORT=3306
DATABASE_USER=root
MYSQL_ROOT_PASSWORD=root
MYSQL_DATABASE=nest
TZ=America/Sao_Paulo
# JWT
JWT_SECRET=secretJWT
JWT_ACCESS_TOKEN_SECRET=secretJWT
JWT_EXPIRATION_TIME=1800
Feito isso o programa estará pronto para ser dockerizado. Abra o projeto através de um terminal de comando e rode o seguinte comando:
docker-compose up -d
Com isso projeto será dockerizado e o mesmo montará o banco de dados necessário para a aplicação e o mesmo já estará rodando no Host: http://localhost:3000
Abra um terminal, na raiz do projeto, e instale as dependências.
$ npm install
$ npm run start:dev
Com isso o programa estará pronto para ser usado através da url: http://localhost:3000
Uma vez dockerizado e instalado as dependências o programa criará automaticamente todas as tabelas necessárias para o funcionamento do sistema.
Criação de um User | Register - conferir o request body em 'http://localhost:3000/docs'
Abra o banco de dados num SGBD que preferir e via linha de comando execute o script abaixo:
GET: http://localhost:3000/register
Abra o terminal na raiz do projeto e execute:
$ npm run start:dev
Em uma guia do terminal, na raiz do projeto, execute:
$ npm run start:prod
O Nestjs, através do typescript, realizará a transpilação do código .ts em .js, e alocará no diretório dist na raiz do projeto. Esse é o diretório para publicação.
O Nestjs, está preparado para se trabalhar com o TypeORM e ao rodar a aplicação toda a estrutura de tabelas será criada automaticamente para o banco de dados
No ambiente de DEV, o nestjs ficará assistindo os arquivos .ts, logo a cada alteração em um arquivo .ts, e automaticamente um novo arquivo .js será gerado ou atualizado.
No ambiente de PROD, o nestjs gerará uma única vez o diretório dist com a transpilação dos arquivos Typescript e acionará o node para levantar a aplicação apontando para o server na raiz do dist.
Documentação das rotas via Swagger API em http://localhost:3000/docs
Aqui se encontra todas as rotas e as mesmas podem ser testadas via Insomnia/Postman Por favor, consultar a imagem abaixo.