├── .flake8 ├── .github └── workflows │ └── pipeline.yaml ├── .gitignore ├── .pre-commit-config.yaml ├── LICENSE ├── README.md ├── clean.png ├── mypy.ini ├── pyproject.toml ├── requirements.txt ├── src ├── api │ └── nameko │ │ ├── __init__.py │ │ ├── audit.py │ │ ├── booking.py │ │ └── config.yml ├── application │ ├── __init__.py │ ├── handlers │ │ ├── __init__.py │ │ └── events.py │ ├── services │ │ └── booking_table.py │ └── uow.py ├── domain │ ├── __init__.py │ ├── commands.py │ ├── entities │ │ ├── __init__.py │ │ ├── restaurant.py │ │ └── table.py │ ├── events │ │ ├── __init__.py │ │ ├── publisher.py │ │ └── table.py │ ├── repository.py │ ├── serializers.py │ └── value_objects.py ├── infrastructure │ ├── __init__.py │ ├── db │ │ ├── __init__.py │ │ ├── memory │ │ │ ├── __init__.py │ │ │ ├── repository.py │ │ │ └── uow.py │ │ └── sqlalchemy │ │ │ ├── __init__.py │ │ │ ├── orm.py │ │ │ ├── repository.py │ │ │ ├── setup.py │ │ │ └── uow.py │ └── events │ │ ├── __init__.py │ │ ├── local_handler.py │ │ ├── local_publisher.py │ │ └── nameko_publisher.py └── tests │ ├── __init__.py │ ├── conftest.py │ ├── integration │ ├── __init__.py │ ├── conftest.py │ ├── test_nameko_audit_service.py │ └── test_nameko_booking_service.py │ ├── unit │ ├── test_booking_service.py │ ├── test_event_handler.py │ ├── test_restaurant.py │ └── test_table.py │ └── utils.py └── test_requirements.txt /.flake8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/.flake8 -------------------------------------------------------------------------------- /.github/workflows/pipeline.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/.github/workflows/pipeline.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | 3 | .vscode 4 | .python-version 5 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/README.md -------------------------------------------------------------------------------- /clean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/clean.png -------------------------------------------------------------------------------- /mypy.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/mypy.ini -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/requirements.txt -------------------------------------------------------------------------------- /src/api/nameko/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/api/nameko/__init__.py -------------------------------------------------------------------------------- /src/api/nameko/audit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/api/nameko/audit.py -------------------------------------------------------------------------------- /src/api/nameko/booking.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/api/nameko/booking.py -------------------------------------------------------------------------------- /src/api/nameko/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/api/nameko/config.yml -------------------------------------------------------------------------------- /src/application/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/application/handlers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/application/handlers/events.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/application/handlers/events.py -------------------------------------------------------------------------------- /src/application/services/booking_table.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/application/services/booking_table.py -------------------------------------------------------------------------------- /src/application/uow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/application/uow.py -------------------------------------------------------------------------------- /src/domain/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/domain/commands.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/domain/commands.py -------------------------------------------------------------------------------- /src/domain/entities/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/domain/entities/restaurant.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/domain/entities/restaurant.py -------------------------------------------------------------------------------- /src/domain/entities/table.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/domain/entities/table.py -------------------------------------------------------------------------------- /src/domain/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/domain/events/__init__.py -------------------------------------------------------------------------------- /src/domain/events/publisher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/domain/events/publisher.py -------------------------------------------------------------------------------- /src/domain/events/table.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/domain/events/table.py -------------------------------------------------------------------------------- /src/domain/repository.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/domain/repository.py -------------------------------------------------------------------------------- /src/domain/serializers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/domain/serializers.py -------------------------------------------------------------------------------- /src/domain/value_objects.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/domain/value_objects.py -------------------------------------------------------------------------------- /src/infrastructure/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/infrastructure/db/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/infrastructure/db/memory/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/infrastructure/db/memory/repository.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/infrastructure/db/memory/repository.py -------------------------------------------------------------------------------- /src/infrastructure/db/memory/uow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/infrastructure/db/memory/uow.py -------------------------------------------------------------------------------- /src/infrastructure/db/sqlalchemy/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/infrastructure/db/sqlalchemy/orm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/infrastructure/db/sqlalchemy/orm.py -------------------------------------------------------------------------------- /src/infrastructure/db/sqlalchemy/repository.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/infrastructure/db/sqlalchemy/repository.py -------------------------------------------------------------------------------- /src/infrastructure/db/sqlalchemy/setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/infrastructure/db/sqlalchemy/setup.py -------------------------------------------------------------------------------- /src/infrastructure/db/sqlalchemy/uow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/infrastructure/db/sqlalchemy/uow.py -------------------------------------------------------------------------------- /src/infrastructure/events/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/infrastructure/events/local_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/infrastructure/events/local_handler.py -------------------------------------------------------------------------------- /src/infrastructure/events/local_publisher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/infrastructure/events/local_publisher.py -------------------------------------------------------------------------------- /src/infrastructure/events/nameko_publisher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/infrastructure/events/nameko_publisher.py -------------------------------------------------------------------------------- /src/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/tests/conftest.py -------------------------------------------------------------------------------- /src/tests/integration/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tests/integration/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/tests/integration/conftest.py -------------------------------------------------------------------------------- /src/tests/integration/test_nameko_audit_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/tests/integration/test_nameko_audit_service.py -------------------------------------------------------------------------------- /src/tests/integration/test_nameko_booking_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/tests/integration/test_nameko_booking_service.py -------------------------------------------------------------------------------- /src/tests/unit/test_booking_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/tests/unit/test_booking_service.py -------------------------------------------------------------------------------- /src/tests/unit/test_event_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/tests/unit/test_event_handler.py -------------------------------------------------------------------------------- /src/tests/unit/test_restaurant.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/tests/unit/test_restaurant.py -------------------------------------------------------------------------------- /src/tests/unit/test_table.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/tests/unit/test_table.py -------------------------------------------------------------------------------- /src/tests/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/src/tests/utils.py -------------------------------------------------------------------------------- /test_requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jorzel/opentable/HEAD/test_requirements.txt --------------------------------------------------------------------------------