Arquitetura¶
Aplicação¶
O produto é um monólito Django organizado em apps locais. Django Templates renderiza as páginas; não há frontend React/Next.js separado no runtime atual. PostgreSQL persiste os dados e Redis atende o broker Celery.
| Camada | Implementação |
|---|---|
| Apresentação | Django Templates, formulários Django, JavaScript e padrão visual Holo. |
| Aplicação | Views e serviços de jobs e dp; autenticação em accounts. |
| Persistência | Django ORM e PostgreSQL; usuário customizado accounts.User. |
| Processamento assíncrono | Celery Worker para filas default, scraping e ai; Celery Beat para tarefas agendadas. |
| Integrações | Fontes públicas de vagas, OpenAI configurável e SMTP para notificações. |
| API | Django REST Framework, Token Authentication e Session Authentication. |
Separação entre domínios¶
jobs coordena busca, listagem e interações. scraper adapta fontes externas em objetos normalizados para o serviço de busca. ai concentra chamadas de análise. dp contém seus modelos, repositórios, serviços e views. core fornece log de auditoria e permissões da API. A integração entre apps ocorre dentro do mesmo processo/projeto Django.
Execução assíncrona¶
O serviço de busca cria a sessão antes de enfileirar a tarefa. A análise de IA é executada em tarefa própria e falhas por vaga são isoladas. O Beat dispara buscas agendadas por hora para usuários ativos que têm cargos desejados configurados.