├── .dockerignore ├── .flake8 ├── .github ├── dependabot.yml └── workflows │ └── test.yml ├── .gitignore ├── .isort.cfg ├── Makefile ├── README.md ├── bookstore-prod.env ├── bookstore.env ├── bookstoreapi ├── __init__.py ├── api.py ├── apps │ ├── __init__.py │ ├── bookstores │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── controllers │ │ │ ├── __init__.py │ │ │ ├── store_book_subscriptions.py │ │ │ └── stores.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── mixins.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── books.py │ │ │ └── stores.py │ │ ├── schemes │ │ │ ├── __init__.py │ │ │ ├── books.py │ │ │ └── stores.py │ │ ├── tasks.py │ │ ├── tests.py │ │ └── views.py │ ├── core │ │ ├── __init__.py │ │ ├── logger.py │ │ └── schema_fix.py │ └── users │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── controllers.py │ │ ├── migrations │ │ └── __init__.py │ │ ├── models.py │ │ ├── schema.py │ │ ├── tests.py │ │ └── views.py ├── asgi.py ├── celeryconf.py ├── custom_exceptions.py ├── settings │ ├── __init__.py │ ├── base.py │ ├── ci.py │ ├── dev.py │ ├── dev_sqlite.py │ └── prod.py ├── tests │ ├── __init__.py │ ├── books │ │ ├── __init__.py │ │ ├── factories.py │ │ └── test_model.py │ ├── conftest.py │ ├── stores │ │ ├── __init__.py │ │ ├── factories.py │ │ ├── test_model.py │ │ └── test_views │ │ │ ├── __init__.py │ │ │ └── test_store_book_views.py │ ├── test_utils.py │ ├── users │ │ ├── __init__.py │ │ ├── factories.py │ │ └── test_views.py │ └── utils │ │ └── __init__.py ├── urls.py └── wsgi.py ├── docker-compose-dev.yml ├── docker-compose-prod.yml ├── docker-compose.yml ├── docker ├── base.Dockerfile ├── dev.Dockerfile └── prod.Dockerfile ├── docs └── image │ └── bookstore_api.gif ├── manage.py ├── nginx ├── Dockerfile └── nginx.conf ├── pytest.ini ├── quick_test_seeding.py ├── requirements.txt ├── scripts ├── cleanup.sh ├── docker_build.sh ├── run_local.sh ├── run_prod.sh └── test_local_backend.sh └── test-requirements.txt /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/.dockerignore -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/.flake8 -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/.gitignore -------------------------------------------------------------------------------- /.isort.cfg: -------------------------------------------------------------------------------- 1 | [settings] 2 | profile = black 3 | combine_as_imports = true -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/README.md -------------------------------------------------------------------------------- /bookstore-prod.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstore-prod.env -------------------------------------------------------------------------------- /bookstore.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstore.env -------------------------------------------------------------------------------- /bookstoreapi/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/__init__.py -------------------------------------------------------------------------------- /bookstoreapi/api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/api.py -------------------------------------------------------------------------------- /bookstoreapi/apps/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/admin.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/apps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/apps.py -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/controllers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/controllers/__init__.py -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/controllers/store_book_subscriptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/controllers/store_book_subscriptions.py -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/controllers/stores.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/controllers/stores.py -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/migrations/0001_initial.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/migrations/0001_initial.py -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/mixins.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/mixins.py -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/models/__init__.py -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/models/books.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/models/books.py -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/models/stores.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/models/stores.py -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/schemes/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/schemes/books.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/schemes/books.py -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/schemes/stores.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/schemes/stores.py -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/tasks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/tasks.py -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/tests.py -------------------------------------------------------------------------------- /bookstoreapi/apps/bookstores/views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/bookstores/views.py -------------------------------------------------------------------------------- /bookstoreapi/apps/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/apps/core/logger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/core/logger.py -------------------------------------------------------------------------------- /bookstoreapi/apps/core/schema_fix.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/core/schema_fix.py -------------------------------------------------------------------------------- /bookstoreapi/apps/users/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/apps/users/admin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/users/admin.py -------------------------------------------------------------------------------- /bookstoreapi/apps/users/apps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/users/apps.py -------------------------------------------------------------------------------- /bookstoreapi/apps/users/controllers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/users/controllers.py -------------------------------------------------------------------------------- /bookstoreapi/apps/users/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/apps/users/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/users/models.py -------------------------------------------------------------------------------- /bookstoreapi/apps/users/schema.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/users/schema.py -------------------------------------------------------------------------------- /bookstoreapi/apps/users/tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/users/tests.py -------------------------------------------------------------------------------- /bookstoreapi/apps/users/views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/apps/users/views.py -------------------------------------------------------------------------------- /bookstoreapi/asgi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/asgi.py -------------------------------------------------------------------------------- /bookstoreapi/celeryconf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/celeryconf.py -------------------------------------------------------------------------------- /bookstoreapi/custom_exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/custom_exceptions.py -------------------------------------------------------------------------------- /bookstoreapi/settings/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/settings/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/settings/base.py -------------------------------------------------------------------------------- /bookstoreapi/settings/ci.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/settings/ci.py -------------------------------------------------------------------------------- /bookstoreapi/settings/dev.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/settings/dev.py -------------------------------------------------------------------------------- /bookstoreapi/settings/dev_sqlite.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/settings/dev_sqlite.py -------------------------------------------------------------------------------- /bookstoreapi/settings/prod.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/settings/prod.py -------------------------------------------------------------------------------- /bookstoreapi/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/tests/books/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/tests/books/factories.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/tests/books/factories.py -------------------------------------------------------------------------------- /bookstoreapi/tests/books/test_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/tests/books/test_model.py -------------------------------------------------------------------------------- /bookstoreapi/tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/tests/conftest.py -------------------------------------------------------------------------------- /bookstoreapi/tests/stores/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/tests/stores/factories.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/tests/stores/factories.py -------------------------------------------------------------------------------- /bookstoreapi/tests/stores/test_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/tests/stores/test_model.py -------------------------------------------------------------------------------- /bookstoreapi/tests/stores/test_views/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/tests/stores/test_views/test_store_book_views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/tests/stores/test_views/test_store_book_views.py -------------------------------------------------------------------------------- /bookstoreapi/tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/tests/test_utils.py -------------------------------------------------------------------------------- /bookstoreapi/tests/users/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/tests/users/factories.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/tests/users/factories.py -------------------------------------------------------------------------------- /bookstoreapi/tests/users/test_views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/tests/users/test_views.py -------------------------------------------------------------------------------- /bookstoreapi/tests/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bookstoreapi/urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/urls.py -------------------------------------------------------------------------------- /bookstoreapi/wsgi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/bookstoreapi/wsgi.py -------------------------------------------------------------------------------- /docker-compose-dev.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/docker-compose-dev.yml -------------------------------------------------------------------------------- /docker-compose-prod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/docker-compose-prod.yml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docker/base.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/docker/base.Dockerfile -------------------------------------------------------------------------------- /docker/dev.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/docker/dev.Dockerfile -------------------------------------------------------------------------------- /docker/prod.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/docker/prod.Dockerfile -------------------------------------------------------------------------------- /docs/image/bookstore_api.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/docs/image/bookstore_api.gif -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/manage.py -------------------------------------------------------------------------------- /nginx/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/nginx/Dockerfile -------------------------------------------------------------------------------- /nginx/nginx.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/nginx/nginx.conf -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | DJANGO_SETTINGS_MODULE=bookstoreapi.settings.ci 3 | addopts = -p no:warnings 4 | -------------------------------------------------------------------------------- /quick_test_seeding.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/quick_test_seeding.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/requirements.txt -------------------------------------------------------------------------------- /scripts/cleanup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/scripts/cleanup.sh -------------------------------------------------------------------------------- /scripts/docker_build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/scripts/docker_build.sh -------------------------------------------------------------------------------- /scripts/run_local.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/scripts/run_local.sh -------------------------------------------------------------------------------- /scripts/run_prod.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/scripts/run_prod.sh -------------------------------------------------------------------------------- /scripts/test_local_backend.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | py.test ./bookstore/tests/ -------------------------------------------------------------------------------- /test-requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eadwinCode/bookstoreapi/HEAD/test-requirements.txt --------------------------------------------------------------------------------