Aplicação back-end escrita para o evento Imersão Full Stack && Full Cycle 14.
# Criar o diretório
$ mkdir -p ~/repos/fullcycle-14
$ cd ~/repos/fullcycle-14
# Clonar o repositório para o diretório local
$ git clone https://github.com/fabberr/FullCycle14-nestjs-backend.git nestjs-app
$ cd nestjs-app
# Gerar o Container Docker da aplicação
$ docker compose buildOs seguintes comandos devem ser executados de dentro do container.
Caso ainda não estiver rodando, use o comando docker-compose up para subir o container.
# Entrar no diretório raiz da aplicação
$ cd /home/node/app
# Instalar as dependências do projeto
$ npm install
# Gerar o client do Prisma
$ npx prisma generateEsta aplicação faz integração com APIs do Google Maps, e portanto é necessário gerar uma Chave de API (gratuita) através do Google Cloud console.
- Entre com uma conta do Google
- Obs.: Uma vez logado, você tem acesso ao trial por 90 dias. Você NÃO será faturado automaticamento ao final do trial.
- Navegue até o menu
APIs & Services - Clique em
+ ENABLE APIS AND SERVICESno topo da página - Consulte e habilite as APIs:
Places APIDirections APIMaps JavaScript API
- Ainda no Menu
APIs & Services, navegue até o menuCredentials - Clique em
+ CREATE CREDENTIALSno topo da página e selecione a opçãoAPI Key - Pronto, sua Chave de API foi criada
- Obs.: É recomendado acessar/visualizar/copiar a chave somente através do próprio Google Cloud console (menu
APIs & Services > Credentials). Não salve esta chave localmente na sua máquina ou em outros serviçõs de cloud.
- Obs.: É recomendado acessar/visualizar/copiar a chave somente através do próprio Google Cloud console (menu
Após criar sua chave de API do Google, crie um arquivo chamado .env na raiz do repositório (utilize o arquivo .env.example como base) e popule a variável de ambiente GOOGLE_API_KEY com a chave gerada.
Popule também a variável DATABASE_URL com a string de conexão do MongoDB.
Este arquivo deve ser armazenado apenas localmente e não deve ser subido para repositórios remotos (não remover regra para arquivos de extensão.env do .gitignore) para evitar que a sua chave de API do Google seja exposta.
# Copiar o arquivo .env base
$ cp .env.example .env# Desenvolvimento
$ npm run start
# Desenvolvimento (watch mode)
$ npm run start:dev
# Debug
$ npm run start:debug
# REPL
$ npm run repl
# Build
$ npm run build
# Produção
$ npm run start:prodPara confirmar que a aplicação está rodando, use um client HTTP para fazer uma requisição GET para http://localhost:3000/.
Uma coleção de requests pode ser importada para testes da API pelo Insomnia através do arquivo Insomnia.json, na raiz do repositório.