URL: https://backend-nestjs.vctljts147ohu.us-east-1.cs.amazonlightsail.com/api/health
- Node.js: Version 20.11.0
- NestJS: A progressive Node.js framework for building efficient and scalable server-side applications.
- Prisma: An open-source database toolkit.
- Prisma
- Eslint
- Docker
- NestJS Files
- Run
npm i -g @nestjs/cli
- Crie um arquivo .env
- Insira os dados do .env.example
- Modifique os valores
- Crie seu banco de dados usando o postgres
- Dentro do arquivo .env, na variável DATABASE_URL, altere os ambientes para o seu banco de dados
- Execute para iniciar o husky para pré commits e pré pushs
npx husky install
- Instale as dependências:
npm install
- Execute as migrações do banco de dados
npx prisma migrate dev
- Execute os seeds do banco de dados
npx prisma db seed
- Inicie a aplicação
npm run start:dev
or
npm start
- Instale as dependências para as features de order e delivery
npm install @nestjs/axios nestjs-soap
- Execute o comando
make docker-build
para fazer build das imagens do container do backend. - Execute o comando
make docker-start
para inicializar os containers do banco de dados e backend.[!NOTE] O Docker cria um volume para o banco de dados que salva os dados de forma persistente
- Execute o comando
make docker-sync
para rebuildar e reiniciar o container do backend (use para integrar mudanças no container). - Execute o comando
make docker-fresh-start
para recriar o volume do banco de dados e reiniciar os containers.[!CAUTION] Este comando apaga todos os dados salvos no banco de dados
Conta criada pelo seed do prisma
E-mail: [email protected]
Senha: admin
Aqui está toda a documentação dos endpoints
localhost:PORT/api/docs/#
Configuração JWT
- AT_SECRET: Segredo usado para gerar e verificar tokens de acesso.
-RT_SECRET: Segredo usado para gerar e verificar tokens de atualização.
-
TK_EMAIL_SECRET: Segredo usado para gerar e verificar tokens de email.
-
TK_EMAIL_LIFETIME: Tempo de vida dos tokens de email.
expresso em segundos ou uma string descrevendo um intervalo de tempo zeit/ms. Ex: 60, "2 dias", "10h", "7d"
- JWT_ACCESS_LIFETIME: Tempo de vida dos tokens de acesso JWT.
expresso em segundos ou uma string descrevendo um intervalo de tempo zeit/ms. Ex: 60, "2 dias", "10h", "7d"
- JWT_REFRESH_LIFETIME: Tempo de vida dos tokens de atualização JWT.
expresso em segundos ou uma string descrevendo um intervalo de tempo zeit/ms. Ex: 60, "2 dias", "10h", "7d"
Aplicação
-
ENV: Ambiente de execução da aplicação ("DEV" para desenvolvimento ou "TEST" para teste).
-
APP_PORT: Porta na qual a aplicação será executada (base 3333).
-
FRONTEND_RECOVER_PASSWORD_URL: URL do frontend para recuperação de senha.
-
FRONT_END_URL: URL de acesso ao frontend.
Banco de dados
- DATABASE_URL: Esta variável contém a URL para conectar ao banco de dados PostgreSQL. Ela especifica o nome de usuário, senha, host, porta e nome do banco de dados que a aplicação deve usar para se conectar ao banco de dados.
Enviar E-mail
- SENDGRID_API_KEY: Chave da API do SendGrid para enviar emails.
- EMAIL_OPTIONS_FROM: Endereço de email que será usado como remetente para enviar emails.