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
- Host: GitHub
- URL: https://github.com/lucasshuan/desafio-network-analytics
- Owner: lucasshuan
- Created: 2024-04-12T04:51:49.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-12T05:14:10.000Z (about 1 year ago)
- Last Synced: 2024-11-14T08:40:02.304Z (7 months ago)
- Language: TypeScript
- Size: 34.2 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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