👤 Arquitetura
OBS
A seguinte arquitetura está sujeita a alterações de acordo com o desenvolver do projeto, onde podem ser exploradas possíveis melhorias.
- Fique atento as novas atualizações.
Altere a seguinte Arquitetura aqui

1. Visão Geral
O sistema é construído sobre o Framework Django, adaptando sua estrutura padrão (MVT) para um design Monolítico Modular. Essa abordagem centraliza a gestão de dados enquanto desacopla processos pesados e assíncronos.
Por que Monolito Modular?
| Vantagem | Descrição |
|---|---|
| Agilidade | Ideal para a equipe - que é pequena - e é simples de implementar. |
| Baixo Custo | Custos reduzidos pois não há a necessidade de realizar deploy de diversos servidores. |
| Baixo Tráfego | Ideal para a aplicação, considerando que não há expectativa de tráfego alto no momento. |
2. Stack Tecnológica
Para garantir performance em um cenário de leitura intensiva (read-heavy) e processamento de imagens, utilizamos os seguintes componentes:
⚡ Processamento e Fila
- Celery: Gerenciador de tarefas distribuídas. Responsável por executar os módulos de Scraping, OCR (IA) e Recorte de Imagens sem bloquear a API principal.
- Redis (Broker): Atua como canal de mensageria, transportando as tarefas da API Django para os Workers do Celery com latência mínima.
💾 Persistência e Cache
- Redis (Cache): Implementa a estratégia Cache-First. Permite armazenar os dados frequentemente consultados em cache, reduzindo o número de operações de I/O no banco principal.
- Storage (S3/Local): Responsável por guardar imagens brutas (panfletos) e processadas (recortes), retirando a carga pesada do banco de dados principal.