Submission: Dynamox Developer Challenge - Luiz Henrique#203
Submission: Dynamox Developer Challenge - Luiz Henrique#203LuizHenrique31415 wants to merge 6 commits into
Conversation
|
Hi @LuizHenrique31415, thanks for your PR submission! Your implementation has been evaluated and our team will reach out to you regarding the next steps. Below you can find the detailed feedback on your solution. User Stories
Technical Requirements
Bonus Requirements
General Evaluation Criteria
|
Descrição do Projeto
Para o gerenciamento deste desafio, utilizei um quadro Kanban para organizar as etapas de desenvolvimento, desde a modelagem do banco de dados até os testes finais de latência.
(Esse desafio utilizei IA como ferramenta.)
Link do Trello: https://trello.com/invite/b/6a038b04c09ab433f1b89271/ATTI0c990eb758f81d852c6efc9b13a28dc29B4F8A04/challenger
Implementação de uma API de processamento de sinais utilizando FastAPI, Pandas para cálculos matemáticos e PostgreSQL para persistência de dados. O projeto foi estruturado com foco em performance e facilidade de deploy via Docker. (Esse desafio utilizei IA como ferrramenta.)
Principais Implementações
Persistência em Banco de Dados: Utilização de SQLAlchemy para gerenciar o armazenamento das séries temporais no PostgreSQL.
Processamento de Dados: Integração com a biblioteca Pandas para cálculo eficiente de métricas (média, máximo, mínimo).
Observabilidade & SRE: Implementação de logs de latência e um script de validação automática (run.sh) para garantir que o sistema está operante e dentro dos limites de performance.
Containerização: Dockerfile e Docker Compose configurados para subir a stack completa (API + DB) com um único comando.
Como Testar
Para facilitar a revisão, a execução foi totalmente automatizada:
Execução Completa:
Bash
chmod +x run.sh
./run.sh
Este script sobe os containers, aguarda o banco de dados ficar saudável e executa o benchmark de performance.
Testes Unitários:
Para rodar os testes de integração que validam os endpoints e a lógica do banco:
Bash
docker-compose run --rm api pytest test_main.py
```
Tecnologias Utilizadas