An open API service indexing awesome lists of open source software.

https://github.com/lucasshuan/desafio-network-analytics

Desafio 02/13/2024 do servidor Spacelaxy
https://github.com/lucasshuan/desafio-network-analytics

Last synced: 5 months ago
JSON representation

Desafio 02/13/2024 do servidor Spacelaxy

Awesome Lists containing this project

README

        

Desafio semanal no servidor Spacelaxy 02/13/2024
https://discord.gg/e8bj7vG4

## Desafio

- Back End - Network Analytics - Este desafio vai muito mais além do CRUD, desas vez bora focar em criar um backend especializado em estatísticas. A ideia é analisar moedas virtuais e destacar as melhores. As moedas devem mudar de valor a cada 5 minutos, e o sistema deve comparar elas pra dizer qual a melhor atualmente. Se quiser mais desafio, compare várias moedas de uma vez! Além disso, implemente um sistema que retorne um log completo de estatísticas para cada moeda. Ao chamar /moeda/stats, a resposta deve ser assim: { time: { valorAtual: valorAtual, valorAnterior: valorAnterior } }, quer mais desafio? Faz uma task que dispara um evento de alerta assim que a moeda tiver uma mudanca muito brusca de valor!

## Observação

A API foi feita em menos de 2 horas e o resultado final acabou ficando ultra simplificado. Moedas mudam de valor a cada 5 minutos e as alterações são jogadas em uma tabela, como pedido.

## Como testar

1. Iniciar o Docker:
```bash
docker-compose up -d
```

2. Instalar dependências:
```bash
npm i
```

3. Executar migrações do Prisma:
```bash
npm run migrate
```

4. Iniciar servidor:
```bash
npm run dev
```

## Rotas

`GET /currency`
Busca todas as moedas
`POST /currency`
Cria uma nova moeda `{ name, value, fluctuationRate }`
`GET /currency/:moeda/logs`
Busca todo o histórico de alterações das moedas
`GET /log`
Busca histórico de flutuações em todas as moedas