Estrutura e responsabilidades
data/
Contratos e camadas de aplicação mais próximas de dados.
interfaces/
: Portas do lado de saída (repository/gateway contracts) que o domínio consome. Definem como o domínio conversa com o mundo externo. Subpastas comocreate_bases/
agrupam contratos por contexto.use_cases/
: Implementações e variações orientadas a dados, composições específicas.
domain/
Regras de negócio.
entities/
: Entidades de domínio (modelos centrais).dict_types/
: Tipos estruturados/Value Objects do domínio.use_cases/
: Casos de uso puros (sem dependências de infra), organizados por subdomínios.
env/
Configuração de ambiente, além de manter parâmetros (ambiente, chaves, URLs, etc) desacoplados do código.
errors/
Cross-cutting (infraestrutura compartilhada) de observabilidade e tratamento de error padronizado.
types/
: tipos/estruturas de erro.logging.py
,logger/
,log/
: infraestrutura de logging.config.py
,error_handler.py
: configuração centralizada e manipuladores de erro.
infra/
Implementações concretas dos contratos de data/interfaces/
e integrações externas. Depende de frameworks/bibliotecas.
db/
: acesso a banco de dados, queries, conexões.repositories/
: implementação do Repository Pattern. Encapsula SQL e mapeia resultados para DTOs/entidades, sem regra de negócio. Está agrupado por domínios.
requests/
: clientes HTTP/REST para provedores externos.bridge_provider/
: camadas de ponte para serviços/SDKs externos.create_base/
: rotinas de preparação/criação de bases.
main/
Inicia a aplicação e monta as dependências.
adapters/
: adaptadores entre HTTP/framework e controladores/casos de uso.composers/
: composição/injeção de dependências conectando controladores, casos de uso e repositórios concretos dainfra/
.routes/
: definição das rotas/endpoints e apontamento para os controladores.server/
: bootstrap do servidor/aplicação.
presentations/
Adapta a camada de entrada (HTTP/UI) para o domínio e não contém regras de negócio.
controllers/
: controladores de interface (HTTP/controller) que recebem a requisição, validam entrada, chamam casos de uso e formatam a resposta.validators/
: validação de payloads de entrada.helpers/
: auxiliares de formatação/conversão do layer de apresentação.http_types/
: contratos de Request/Response/Status, padronizando a camada HTTP.interfaces/
: contratos para controladores/apresentação.
utils/
Código compartilhado e helpers.