Il 0% ha trovato utile questo documento (0 voti)
6 visualizzazioni3 pagine

Clean Arch Structure

Il documento descrive la struttura di un progetto software organizzato in diverse directory, inclusi dominio, applicazione, infrastruttura e presentazione. Ogni livello contiene moduli specifici come entità, servizi, repository, e interfacce, insieme a test e documentazione. Inoltre, include file di configurazione e script utilitari per la gestione del progetto.
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato TXT, PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
6 visualizzazioni3 pagine

Clean Arch Structure

Il documento descrive la struttura di un progetto software organizzato in diverse directory, inclusi dominio, applicazione, infrastruttura e presentazione. Ogni livello contiene moduli specifici come entità, servizi, repository, e interfacce, insieme a test e documentazione. Inoltre, include file di configurazione e script utilitari per la gestione del progetto.
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato TXT, PDF, TXT o leggi online su Scribd

project/

├── src/
│ ├── domain/ # Camada de Domínio (Entities + Use Cases)
│ │ ├── __init__.py
│ │ ├── entities/ # Entidades de domínio
│ │ │ ├── __init__.py
│ │ │ ├── [Link] # Archive Entity
│ │ │ └── [Link] # User Entity
│ │ ├── value_objects/ # Value Objects
│ │ │ ├── __init__.py
│ │ │ ├── archive_status.py
│ │ │ ├── archive_type.py
│ │ │ └── file_metadata.py
│ │ ├── repositories/ # Interfaces dos repositórios
│ │ │ ├── __init__.py
│ │ │ ├── archive_repository.py
│ │ │ └── user_repository.py
│ │ ├── services/ # Domain Services
│ │ │ ├── __init__.py
│ │ │ ├── archive_service.py
│ │ │ └── file_validation_service.py
│ │ └── use_cases/ # Casos de uso
│ │ ├── __init__.py
│ │ ├── create_archive.py
│ │ ├── get_archive.py
│ │ ├── update_archive.py
│ │ ├── delete_archive.py
│ │ └── list_archives.py
│ │
│ ├── application/ # Camada de Aplicação
│ │ ├── __init__.py
│ │ ├── dtos/ # Data Transfer Objects
│ │ │ ├── __init__.py
│ │ │ ├── archive_dto.py
│ │ │ └── user_dto.py
│ │ ├── interfaces/ # Interfaces da aplicação
│ │ │ ├── __init__.py
│ │ │ ├── file_storage.py
│ │ │ ├── notification_service.py
│ │ │ └── email_service.py
│ │ └── services/ # Application Services
│ │ ├── __init__.py
│ │ ├── archive_app_service.py
│ │ └── user_app_service.py
│ │
│ ├── infrastructure/ # Camada de Infraestrutura
│ │ ├── __init__.py
│ │ ├── database/ # Persistência
│ │ │ ├── __init__.py
│ │ │ ├── [Link]
│ │ │ ├── models/ # SQLAlchemy Models
│ │ │ │ ├── __init__.py
│ │ │ │ ├── archive_model.py
│ │ │ │ └── user_model.py
│ │ │ └── repositories/ # Implementações dos repositórios
│ │ │ ├── __init__.py
│ │ │ ├── archive_repository_impl.py
│ │ │ └── user_repository_impl.py
│ │ ├── external/ # Serviços externos
│ │ │ ├── __init__.py
│ │ │ ├── file_storage/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── local_storage.py
│ │ │ │ └── s3_storage.py
│ │ │ ├── notifications/
│ │ │ │ ├── __init__.py
│ │ │ │ └── email_sender.py
│ │ │ └── monitoring/
│ │ │ ├── __init__.py
│ │ │ └── [Link]
│ │ └── config/ # Configurações
│ │ ├── __init__.py
│ │ ├── [Link]
│ │ ├── [Link]
│ │ └── [Link]
│ │
│ └── presentation/ # Camada de Apresentação (Interface)
│ ├── __init__.py
│ ├── api/ # REST API
│ │ ├── __init__.py
│ │ ├── v1/
│ │ │ ├── __init__.py
│ │ │ ├── routers/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── [Link]
│ │ │ │ └── [Link]
│ │ │ └── [Link]
│ │ ├── schemas/ # Pydantic Schemas (Request/Response)
│ │ │ ├── __init__.py
│ │ │ ├── archive_schema.py
│ │ │ ├── user_schema.py
│ │ │ └── [Link]
│ │ ├── middleware/
│ │ │ ├── __init__.py
│ │ │ ├── auth_middleware.py
│ │ │ └── cors_middleware.py
│ │ └── exceptions/
│ │ ├── __init__.py
│ │ ├── [Link]
│ │ └── custom_exceptions.py
│ ├── cli/ # Command Line Interface
│ │ ├── __init__.py
│ │ └── [Link]
│ └── web/ # Interface Web (opcional)
│ ├── __init__.py
│ └── templates/

├── tests/ # Testes
│ ├── __init__.py
│ ├── unit/
│ │ ├── domain/
│ │ ├── application/
│ │ ├── infrastructure/
│ │ └── presentation/
│ ├── integration/
│ │ ├── database/
│ │ └── api/
│ └── e2e/
│ └── test_archive_flow.py

├── migrations/ # Migrações do banco
│ └── alembic/

├── docs/ # Documentação
│ ├── [Link]
│ ├── [Link]
│ └── [Link]

├── scripts/ # Scripts utilitários
│ ├── [Link]
│ └── [Link]

├── .[Link]
├── .gitignore
├── [Link]
├── Dockerfile
├── [Link]
├── [Link]
└── [Link] # Entry point

Potrebbero piacerti anche