Giter Club home page Giter Club logo

fullcycle14-nestjs-backend's Introduction

FullCycle14-nestjs-backend

Aplicação back-end escrita para o evento Imersão Full Stack && Full Cycle 14.

Tecnologias/Linguagens utilizadas:

Instalação

# 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 build

Os 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 generate

Google API Key

Esta 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.

  1. 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.
  2. Navegue até o menu APIs & Services
  3. Clique em + ENABLE APIS AND SERVICES no topo da página
  4. Consulte e habilite as APIs:
    • Places API
    • Directions API
    • Maps JavaScript API
  5. Ainda no Menu APIs & Services, navegue até o menu Credentials
  6. Clique em + CREATE CREDENTIALS no topo da página e selecione a opção API Key
  7. 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.

Variáveis de Ambiente

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

Rodando a Aplicação

# 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:prod

Para 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.

fullcycle14-nestjs-backend's People

Contributors

fabberr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.