https://github.com/vagnercardosoweb/nlw5-devquiz-api
API para integrar o APP DevQuiz desenvolvido em Flutter na NLW5 da Rocketseat.
https://github.com/vagnercardosoweb/nlw5-devquiz-api
express flutter nlw5 node postgresql rocketseat typescript
Last synced: 10 months ago
JSON representation
API para integrar o APP DevQuiz desenvolvido em Flutter na NLW5 da Rocketseat.
- Host: GitHub
- URL: https://github.com/vagnercardosoweb/nlw5-devquiz-api
- Owner: vagnercardosoweb
- Created: 2021-04-21T19:08:57.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-04-24T06:12:18.000Z (about 5 years ago)
- Last Synced: 2025-06-04T00:16:09.568Z (about 1 year ago)
- Topics: express, flutter, nlw5, node, postgresql, rocketseat, typescript
- Language: TypeScript
- Homepage:
- Size: 788 KB
- Stars: 8
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
NLW5 - DevQuiz - API
# Projeto
Projeto tem como objetivo integrar o app desenvolvido em [Flutter](https://flutter.dev/) durante a NLW5
da [Rocketseat](https://rocketseat.com.br), evento voltado a te levar ao próximo nível como desenvolvedor.
# Tecnologias
- [Express](https://expressjs.com/pt-br/)
- [TypeScript](https://www.typescriptlang.org/)
- [PostgreSQL](https://www.postgresql.org/)
# Pré requisitos para rodar o projeto.
- Node v14
- npm ou yarn
- Docker
# Configurando o projeto
```shell
# 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](https://sentry.io/welcome/), 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
```shell
# 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](http://localhost:3333/docs)
## Licença
Esse projeto está sob a licença MIT. Veja o arquivo [LICENSE](LICENSE.md) para mais detalhes.
---
Feito com ♥ by Vagner Cardoso