/nlw5-devquiz-api

API para integrar o APP DevQuiz desenvolvido em Flutter na NLW5 da Rocketseat.

Primary LanguageTypeScript

NLW5 - DevQuiz - API

Diagrama db

Projeto

Projeto tem como objetivo integrar o app desenvolvido em Flutter durante a NLW5 da Rocketseat, evento voltado a te levar ao próximo nível como desenvolvedor.

Tecnologias

Pré requisitos para rodar o projeto.

  • Node v14
    • npm ou yarn
  • Docker

Configurando o projeto

# Clonar o projeto
git clone git@github.com:vagnercardosoweb/nlw5-devquiz-api.git

# Entra na pasta do projeto
cd nlw5-devquiz-api

Agora você deve configurar as variável de ambiente.

  • Copie o .env.example pra .env
  • Configure as variávies, caso esteja utilizando docker o banco já está configurado para rodar local.
  • Cria duas chaves seguras e mude em APP_KEY e API_KEY.
  • Caso queira o rastreamento do sentry, você deve configurar o SENTRY_DSN.
  • A env APP_ENV deve ser development para funcionar as migrations em ambiente de desenvolvimento.

APP_KEY: chave para proteger a criptografia do token JWT.

API_KEY: chave para proteger as chamadas as apis quando não tem um token do usuário (JWT).

Rodando o projeto

# Ligando o projeto
yarn dev:docker

## caso esteja utilizando npm:
npm run dev:docker

# Rodando as migrations
docker exec nlw5-devquiz-api sh -c "yarn db:migrate"
  • Todas rotas é protegida por TOKEN, quando não precisa está autenticado deve passar a chave que está no .env chamada API_KEY.
  • Na documentação em todas rotas tem um CADEADO ao clicar vc insere o token e terá acesso as rotas.
  • As rotas que precisa de autenticação você deve passar o token retornado no login.

Documentação da API

A documentação pode ser acessada atrávez http://localhost:3333/docs

Swagger

Licença

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Feito com ♥ by Vagner Cardoso