Esse repositório tem como objetivo resolver o seguinte desafio:
"O desafio consiste em criar um programa que consulte a api do reddit uma vez por dia (deve ser uma tarefa agendada para rodar em um horário específico que você definir).
A sua tarefa diária deve salvar num banco de dados SQL as postagens que estejam HOT do subredit artificial.
Você deve salvar título da postagem, nome do autor, timestamp da criação, número de "ups" e número de comentários, e criar dois endpoints para consulta desses dados (endpoints REST ou usando graphql).
O primeiro endpoint deve receber como parâmetro uma data inicial, uma data final e uma ordem (as ordens possíveis são número de "ups" e número de comentários) e deve retornar as postagens criadas dentro desse range seguindo a ordem estipulada (em ordem decrescente)
O segundo endpoint deve receber como parâmetro uma ordem (as ordens possíveis são número de "ups" e número de comentários) e deve retornar uma lista de usuários seguindo a ordem estipulada (em ordem decrescente)"
Esse template contem:
- Clone o repositório e acesse a pasta;
- Faça uma copia dos dados em
.env.example
para.env
e para.env.test
; - Instale as dependências com
yarn
ounpm install
; - Suba o banco de dados de desenvolvimento com
yarn docker:up
ounpm run docker:up
; - Executa as migrations com
npx prisma migrate dev
; - Inicie o servidor com
yarn dev
ounpm run dev
;
O servidor estará rodando em http://localhost:4000. Para acessar a documentação das rotas basta ir em http://localhost:4000/api-docs.
A api está configurada para salvar os posts do reddit diariamente às 00:00 , isso pode ser alterado na linha 26 do arquivo app.ts
https://save-reddit.herokuapp.com
Feito com 💜 by Thiago Ramos 👋🏻