├── .gitignore ├── .idea ├── .gitignore ├── fastapi-hexagonal.iml ├── inspectionProfiles │ └── profiles_settings.xml ├── misc.xml ├── modules.xml └── vcs.xml ├── Dockerfile ├── Makefile ├── README.md ├── app ├── __init__.py ├── application │ ├── __init__.py │ ├── services │ │ ├── __init__.py │ │ └── product.py │ └── validators │ │ ├── __init__.py │ │ └── product.py ├── domain │ ├── __init__.py │ ├── entities │ │ ├── __init__.py │ │ └── product.py │ ├── events │ │ ├── __init__.py │ │ └── product.py │ ├── exceptions.py │ ├── repositories │ │ ├── __init__.py │ │ └── product.py │ └── use_cases │ │ ├── __init__.py │ │ └── product.py ├── infrastructure │ ├── __init__.py │ ├── container.py │ ├── events │ │ ├── __init__.py │ │ └── product.py │ ├── fast_api.py │ ├── handlers │ │ ├── __init__.py │ │ └── products.py │ ├── repositories │ │ ├── __init__.py │ │ └── product.py │ └── schemas │ │ ├── __init__.py │ │ └── product.py ├── main.py └── test │ ├── __init__.py │ ├── data │ ├── __init__.py │ └── product.py │ ├── fastapi │ ├── __init__.py │ └── test_product_api.py │ └── services │ ├── __init__.py │ └── test_product.py ├── architecture.png └── requirements.txt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/.idea/.gitignore -------------------------------------------------------------------------------- /.idea/fastapi-hexagonal.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/.idea/fastapi-hexagonal.iml -------------------------------------------------------------------------------- /.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/.idea/inspectionProfiles/profiles_settings.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/.idea/modules.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/Dockerfile -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/README.md -------------------------------------------------------------------------------- /app/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/application/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/application/services/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/application/services/product.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/application/services/product.py -------------------------------------------------------------------------------- /app/application/validators/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/application/validators/product.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/application/validators/product.py -------------------------------------------------------------------------------- /app/domain/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/domain/entities/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/domain/entities/product.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/domain/entities/product.py -------------------------------------------------------------------------------- /app/domain/events/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/domain/events/product.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/domain/events/product.py -------------------------------------------------------------------------------- /app/domain/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/domain/exceptions.py -------------------------------------------------------------------------------- /app/domain/repositories/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/domain/repositories/product.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/domain/repositories/product.py -------------------------------------------------------------------------------- /app/domain/use_cases/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/domain/use_cases/product.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/domain/use_cases/product.py -------------------------------------------------------------------------------- /app/infrastructure/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/infrastructure/container.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/infrastructure/container.py -------------------------------------------------------------------------------- /app/infrastructure/events/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/infrastructure/events/product.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/infrastructure/events/product.py -------------------------------------------------------------------------------- /app/infrastructure/fast_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/infrastructure/fast_api.py -------------------------------------------------------------------------------- /app/infrastructure/handlers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/infrastructure/handlers/__init__.py -------------------------------------------------------------------------------- /app/infrastructure/handlers/products.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/infrastructure/handlers/products.py -------------------------------------------------------------------------------- /app/infrastructure/repositories/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/infrastructure/repositories/product.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/infrastructure/repositories/product.py -------------------------------------------------------------------------------- /app/infrastructure/schemas/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/infrastructure/schemas/product.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/infrastructure/schemas/product.py -------------------------------------------------------------------------------- /app/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/main.py -------------------------------------------------------------------------------- /app/test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/test/__init__.py -------------------------------------------------------------------------------- /app/test/data/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/test/data/product.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/test/data/product.py -------------------------------------------------------------------------------- /app/test/fastapi/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/test/fastapi/test_product_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/test/fastapi/test_product_api.py -------------------------------------------------------------------------------- /app/test/services/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/test/services/test_product.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/app/test/services/test_product.py -------------------------------------------------------------------------------- /architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/architecture.png -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dev-lusaja/fastapi-hexagonal/HEAD/requirements.txt --------------------------------------------------------------------------------