├── .coveragerc ├── .coveralls.yml ├── .env ├── .github └── workflows │ └── main.yml ├── .gitignore ├── Dockerfile ├── README.md ├── app ├── __init__.py ├── application.py ├── data │ ├── __init__.py │ └── todo │ │ ├── __init__.py │ │ └── usecases │ │ ├── __init__.py │ │ ├── add_todo_data.py │ │ ├── delete_todo_by_id_data.py │ │ ├── get_todo_all_data.py │ │ ├── get_todo_by_id_data.py │ │ └── update_todo_data.py ├── db │ ├── __init__.py │ └── fake_db.py ├── notification │ ├── __init__.py │ └── todo_transaction │ │ ├── __init__.py │ │ ├── remove_cache_subscriber.py │ │ ├── transaction_log_subscriber.py │ │ └── transaction_notification.py ├── resources │ ├── __init__.py │ ├── health_check │ │ ├── __init__.py │ │ └── health_check_resource.py │ └── todo │ │ ├── __init__.py │ │ ├── todo_resource.py │ │ └── usecases │ │ ├── __init__.py │ │ ├── add_todo.py │ │ ├── delete_todo_by_id.py │ │ ├── get_todo_all.py │ │ ├── get_todo_by_id.py │ │ └── update_todo.py └── utils │ ├── __init__.py │ ├── cache_provider.py │ ├── config.py │ ├── error │ ├── __init__.py │ ├── error_models.py │ └── error_response.py │ ├── exception │ ├── __init__.py │ ├── exception_handlers.py │ └── exception_types.py │ ├── pydiator │ ├── __init__.py │ └── pydiator_core_config.py │ └── tracer_config.py ├── docker-compose.yml ├── docs └── assets │ ├── jaeger.png │ ├── jaeger_pipeline_is_not_enabled.png │ └── mediatr_flow.png ├── main.py ├── pytest.ini ├── requirements.txt └── tests ├── .env ├── __init__.py ├── conftest.py ├── integration ├── __init__.py └── resources │ ├── .DS_Store │ ├── __init__.py │ ├── healt_check │ ├── __init__.py │ └── test_health_check_resource.py │ └── todo │ ├── .DS_Store │ ├── __init__.py │ └── test_todo_resource.py └── unit ├── __init__.py ├── base_test_case.py ├── data ├── __init__.py └── todo │ ├── __init__.py │ └── usecases │ ├── __init__.py │ ├── test_add_todo_data.py │ ├── test_delete_todo_by_id_data.py │ ├── test_get_todo_all_data.py │ ├── test_get_todo_by_id.py │ └── test_update_todo_data.py ├── notification ├── __init__.py └── todo_transaction │ ├── __init__.py │ ├── test_remove_cache_subscriber.py │ └── test_transaction_log_subscriber.py ├── resources ├── __init__.py └── todo │ ├── __init__.py │ └── usecases │ ├── __init__.py │ ├── test_add_todo.py │ ├── test_delete_todo_by_id.py │ ├── test_get_todo_all.py │ ├── test_get_todo_by_id.py │ └── test_update_todo.py └── utils ├── __init__.py ├── pydiator └── __init__.py └── test_cache_provider.py /.coveragerc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/.coveragerc -------------------------------------------------------------------------------- /.coveralls.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/.coveralls.yml -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/.env -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | venv 2 | .data 3 | .pytest_cache 4 | htmlcov -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/Dockerfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/README.md -------------------------------------------------------------------------------- /app/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/application.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/application.py -------------------------------------------------------------------------------- /app/data/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/data/todo/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/data/todo/usecases/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/data/todo/usecases/add_todo_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/data/todo/usecases/add_todo_data.py -------------------------------------------------------------------------------- /app/data/todo/usecases/delete_todo_by_id_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/data/todo/usecases/delete_todo_by_id_data.py -------------------------------------------------------------------------------- /app/data/todo/usecases/get_todo_all_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/data/todo/usecases/get_todo_all_data.py -------------------------------------------------------------------------------- /app/data/todo/usecases/get_todo_by_id_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/data/todo/usecases/get_todo_by_id_data.py -------------------------------------------------------------------------------- /app/data/todo/usecases/update_todo_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/data/todo/usecases/update_todo_data.py -------------------------------------------------------------------------------- /app/db/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/db/fake_db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/db/fake_db.py -------------------------------------------------------------------------------- /app/notification/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/notification/todo_transaction/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/notification/todo_transaction/remove_cache_subscriber.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/notification/todo_transaction/remove_cache_subscriber.py -------------------------------------------------------------------------------- /app/notification/todo_transaction/transaction_log_subscriber.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/notification/todo_transaction/transaction_log_subscriber.py -------------------------------------------------------------------------------- /app/notification/todo_transaction/transaction_notification.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/notification/todo_transaction/transaction_notification.py -------------------------------------------------------------------------------- /app/resources/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/resources/health_check/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/resources/health_check/health_check_resource.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/resources/health_check/health_check_resource.py -------------------------------------------------------------------------------- /app/resources/todo/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/resources/todo/todo_resource.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/resources/todo/todo_resource.py -------------------------------------------------------------------------------- /app/resources/todo/usecases/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/resources/todo/usecases/add_todo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/resources/todo/usecases/add_todo.py -------------------------------------------------------------------------------- /app/resources/todo/usecases/delete_todo_by_id.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/resources/todo/usecases/delete_todo_by_id.py -------------------------------------------------------------------------------- /app/resources/todo/usecases/get_todo_all.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/resources/todo/usecases/get_todo_all.py -------------------------------------------------------------------------------- /app/resources/todo/usecases/get_todo_by_id.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/resources/todo/usecases/get_todo_by_id.py -------------------------------------------------------------------------------- /app/resources/todo/usecases/update_todo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/resources/todo/usecases/update_todo.py -------------------------------------------------------------------------------- /app/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/utils/cache_provider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/utils/cache_provider.py -------------------------------------------------------------------------------- /app/utils/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/utils/config.py -------------------------------------------------------------------------------- /app/utils/error/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/utils/error/error_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/utils/error/error_models.py -------------------------------------------------------------------------------- /app/utils/error/error_response.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/utils/error/error_response.py -------------------------------------------------------------------------------- /app/utils/exception/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/utils/exception/exception_handlers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/utils/exception/exception_handlers.py -------------------------------------------------------------------------------- /app/utils/exception/exception_types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/utils/exception/exception_types.py -------------------------------------------------------------------------------- /app/utils/pydiator/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/utils/pydiator/pydiator_core_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/utils/pydiator/pydiator_core_config.py -------------------------------------------------------------------------------- /app/utils/tracer_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/app/utils/tracer_config.py -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docs/assets/jaeger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/docs/assets/jaeger.png -------------------------------------------------------------------------------- /docs/assets/jaeger_pipeline_is_not_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/docs/assets/jaeger_pipeline_is_not_enabled.png -------------------------------------------------------------------------------- /docs/assets/mediatr_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/docs/assets/mediatr_flow.png -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/main.py -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/pytest.ini -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/requirements.txt -------------------------------------------------------------------------------- /tests/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/.env -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/integration/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/integration/resources/.DS_Store -------------------------------------------------------------------------------- /tests/integration/resources/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/healt_check/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/healt_check/test_health_check_resource.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/integration/resources/healt_check/test_health_check_resource.py -------------------------------------------------------------------------------- /tests/integration/resources/todo/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/integration/resources/todo/.DS_Store -------------------------------------------------------------------------------- /tests/integration/resources/todo/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/resources/todo/test_todo_resource.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/integration/resources/todo/test_todo_resource.py -------------------------------------------------------------------------------- /tests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/base_test_case.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/base_test_case.py -------------------------------------------------------------------------------- /tests/unit/data/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/data/todo/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/data/todo/usecases/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/data/todo/usecases/test_add_todo_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/data/todo/usecases/test_add_todo_data.py -------------------------------------------------------------------------------- /tests/unit/data/todo/usecases/test_delete_todo_by_id_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/data/todo/usecases/test_delete_todo_by_id_data.py -------------------------------------------------------------------------------- /tests/unit/data/todo/usecases/test_get_todo_all_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/data/todo/usecases/test_get_todo_all_data.py -------------------------------------------------------------------------------- /tests/unit/data/todo/usecases/test_get_todo_by_id.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/data/todo/usecases/test_get_todo_by_id.py -------------------------------------------------------------------------------- /tests/unit/data/todo/usecases/test_update_todo_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/data/todo/usecases/test_update_todo_data.py -------------------------------------------------------------------------------- /tests/unit/notification/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/notification/todo_transaction/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/notification/todo_transaction/test_remove_cache_subscriber.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/notification/todo_transaction/test_remove_cache_subscriber.py -------------------------------------------------------------------------------- /tests/unit/notification/todo_transaction/test_transaction_log_subscriber.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/notification/todo_transaction/test_transaction_log_subscriber.py -------------------------------------------------------------------------------- /tests/unit/resources/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/resources/todo/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/resources/todo/usecases/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/resources/todo/usecases/test_add_todo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/resources/todo/usecases/test_add_todo.py -------------------------------------------------------------------------------- /tests/unit/resources/todo/usecases/test_delete_todo_by_id.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/resources/todo/usecases/test_delete_todo_by_id.py -------------------------------------------------------------------------------- /tests/unit/resources/todo/usecases/test_get_todo_all.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/resources/todo/usecases/test_get_todo_all.py -------------------------------------------------------------------------------- /tests/unit/resources/todo/usecases/test_get_todo_by_id.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/resources/todo/usecases/test_get_todo_by_id.py -------------------------------------------------------------------------------- /tests/unit/resources/todo/usecases/test_update_todo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/resources/todo/usecases/test_update_todo.py -------------------------------------------------------------------------------- /tests/unit/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/utils/pydiator/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/utils/test_cache_provider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ozgurkara/fastapi-pydiator/HEAD/tests/unit/utils/test_cache_provider.py --------------------------------------------------------------------------------