Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lrcampos97/golden-raspberry-awards
API RESTful para ler a lista de indicados e vencedores da categoria Pior Filme do Golden Raspberry Awards
https://github.com/lrcampos97/golden-raspberry-awards
express jest nodejs pnpm prisma sqlite3 typescript
Last synced: 3 days ago
JSON representation
API RESTful para ler a lista de indicados e vencedores da categoria Pior Filme do Golden Raspberry Awards
- Host: GitHub
- URL: https://github.com/lrcampos97/golden-raspberry-awards
- Owner: lrcampos97
- Created: 2024-07-15T22:23:59.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-07-17T04:53:10.000Z (4 months ago)
- Last Synced: 2024-07-17T07:26:26.444Z (4 months ago)
- Topics: express, jest, nodejs, pnpm, prisma, sqlite3, typescript
- Language: TypeScript
- Homepage:
- Size: 140 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Golden Raspberry Awards API
API RESTful para ler a lista de indicados e vencedores da categoria Pior Filme do Golden Raspberry Awards.
## Tecnologias Utilizadas
- Node.js
- Express
- TypeScript
- Redis (banco de dados em memória)
- Jest (para testes de integração)
- Pnpm (para gerenciamento de dependências)## Estrutura do Projeto
- `src/`: Código fonte do projeto
- `src/api/`: Endpoints da API
- `src/utils/`: Utilitários e configurações
- `resources/`: Contém o arquivo `movies.csv` com os dados dos filmes## Instruções para Rodar o Projeto
### Pré-requisitos
- Node.js instalado
- Pnpm instalado
- Redis instalado e rodando localmente (recomendo utilizar uma imagem [docker](https://hub.docker.com/_/redis))### Instalação
1. Clone o repositório:
```sh
git clone https://github.com/lrcampos97/golden-raspberry-awards.git
cd golden-raspberry-awards
```2. Instale as dependências:
```sh
pnpm install
```## Variáveis de ambiente
No arquivo `.env.sample` voce vai encontrar um exemplo das variáveis de requisito para rodar a aplicação.
### Executando o Servidor
1. Para iniciar o servidor, execute:
```sh
pnpm start
```Isso irá ler o arquivo `movies.csv` localizado na pasta `resources` e popular o banco de dados em memória sempre que o servidor for iniciado.
### Endpoint de produtores
O servidor disponibiliza um endpoint GET `/producers`, para buscar o produtor com maior intervalo entre dois prêmios consecutivos, e o produtor que obteve dois prêmios mais rápido. Os dados sao lidos de acordo com as informaçoes carregadas no banco de dados em memória no inicio da aplicação.
### Executando os Testes
1. Para executar os testes de integração, use:
```sh
pnpm test
```## Banco de dados em memória
O banco de dados é populado automaticamente ao iniciar o servidor a partir do arquivo `resources/movies.csv`.