From 5bb51bd81716aa3d19a9e3e2eb4f459107d1d095 Mon Sep 17 00:00:00 2001 From: Stanislav Lapshin Date: Tue, 2 May 2023 20:26:35 +0300 Subject: [PATCH] refactor(folders): structure --- .github/workflows/ci-cd.yml | 5 +-- .gitignore | 3 +- .pre-commit-config.yaml | 4 +- Makefile | 26 ++++++------ {ci => devops/ci}/docker-compose.yml | 0 {docker => devops/docker}/Dockerfile | 24 +++++------ {docker => devops/docker}/nginx/nginx.conf | 12 +----- devops/docker/server/Makefile | 30 +++++++++++++ docker/.dockerignore.production | 1 - docker/nginx/uwsgi_params | 16 ------- docker/server/backend.sh | 9 ---- docker/server/celery_beat.sh | 7 ---- docker/server/celery_worker.sh | 16 ------- docker/server/flower.sh | 8 ---- poetry.lock | 9 +--- pyproject.toml | 2 +- scripts/lint.sh | 42 ------------------- server/__init__.py | 6 --- setup.cfg | 26 ++++++------ src/__init__.py | 4 ++ {server => src}/apps/__init__.py | 0 {server => src}/apps/blogs/__init__.py | 0 {server => src}/apps/blogs/admin/__init__.py | 0 {server => src}/apps/blogs/admin/post.py | 0 {server => src}/apps/blogs/api/__init__.py | 0 .../apps/blogs/api/routes/__init__.py | 0 .../apps/blogs/api/routes/posts.py | 0 .../apps/blogs/api/serializers/__init__.py | 0 .../apps/blogs/api/serializers/post.py | 0 .../apps/blogs/api/serializers/post_card.py | 0 {server => src}/apps/blogs/api/urls.py | 0 .../apps/blogs/api/views/__init__.py | 0 .../apps/blogs/api/views/posts/__init__.py | 0 .../apps/blogs/api/views/posts/create.py | 0 .../apps/blogs/api/views/posts/delete.py | 0 .../apps/blogs/api/views/posts/list.py | 0 .../apps/blogs/api/views/posts/retrieve.py | 0 .../apps/blogs/api/views/posts/update.py | 0 {server => src}/apps/blogs/apps.py | 0 {server => src}/apps/blogs/logic/__init__.py | 0 .../apps/blogs/logic/commands/__init__.py | 0 .../blogs/logic/commands/posts/__init__.py | 0 .../apps/blogs/logic/commands/posts/create.py | 0 .../apps/blogs/logic/commands/posts/delete.py | 0 .../apps/blogs/logic/commands/posts/update.py | 0 .../apps/blogs/logic/queries/__init__.py | 0 .../blogs/logic/queries/posts/__init__.py | 0 .../apps/blogs/logic/queries/posts/list.py | 0 .../apps/blogs/logic/queries/posts/my.py | 0 .../blogs/logic/queries/posts/retrieve.py | 0 .../apps/blogs/migrations/0001_initial.py | 0 ...002_alter_post_content_alter_post_title.py | 0 .../apps/blogs/migrations/0003_post_status.py | 0 .../migrations/0004_alter_post_status.py | 0 .../0005_alter_post_unique_together.py | 0 .../apps/blogs/migrations/__init__.py | 0 {server => src}/apps/blogs/models/__init__.py | 0 .../apps/blogs/models/enums/__init__.py | 0 .../apps/blogs/models/enums/post_status.py | 0 {server => src}/apps/blogs/models/post.py | 0 {server => src}/apps/blogs/pages/__init__.py | 0 {server => src}/apps/blogs/pages/urls.py | 0 .../apps/blogs/pages/views/__init__.py | 0 .../apps/blogs/pages/views/posts/__init__.py | 0 .../apps/blogs/pages/views/posts/create.py | 0 .../apps/blogs/pages/views/posts/delete.py | 0 .../apps/blogs/pages/views/posts/detail.py | 0 .../apps/blogs/pages/views/posts/edit.py | 0 .../apps/blogs/pages/views/posts/list.py | 0 .../apps/blogs/pages/views/posts/my.py | 0 .../apps/blogs/templates/posts/create.html | 0 .../apps/blogs/templates/posts/detail.html | 0 .../apps/blogs/templates/posts/edit.html | 0 .../apps/blogs/templates/posts/list.html | 0 {server => src}/apps/core/__init__.py | 0 {server => src}/apps/core/api/__init__.py | 0 {server => src}/apps/core/api/docs.py | 0 .../apps/core/api/routers/__init__.py | 0 .../apps/core/api/routers/actions.py | 0 .../apps/core/api/views/__init__.py | 0 .../apps/core/api/views/base_api.py | 0 .../apps/core/api/views/base_command.py | 0 .../apps/core/api/views/base_list_query.py | 0 .../apps/core/api/views/base_query.py | 0 .../core/api/views/base_retrieve_query.py | 0 {server => src}/apps/core/apps.py | 0 {server => src}/apps/core/errors.py | 0 {server => src}/apps/core/helpers/__init__.py | 0 .../apps/core/helpers/module_loading.py | 0 {server => src}/apps/core/logic/__init__.py | 0 {server => src}/apps/core/logic/errors.py | 0 .../apps/core/logic/interfaces/__init__.py | 0 .../apps/core/logic/interfaces/email.py | 0 .../apps/core/logic/messages/__init__.py | 0 .../apps/core/logic/messages/base.py | 0 .../apps/core/logic/messages/interfaces.py | 0 .../apps/core/logic/messages/shortcuts.py | 0 .../apps/core/logic/messages/types.py | 0 {server => src}/apps/core/pages/__init__.py | 0 {server => src}/apps/core/pages/base.py | 0 .../apps/core/pages/base_command.py | 0 .../apps/core/pages/base_list_query.py | 0 {server => src}/apps/core/pages/base_query.py | 0 .../apps/core/pages/base_retrieve_query.py | 0 .../apps/core/services/__init__.py | 0 {server => src}/apps/core/services/email.py | 0 {server => src}/apps/core/services/errors.py | 0 .../apps/core/services/message_bus.py | 0 {server => src}/apps/core/services/modules.py | 0 {server => src}/apps/core/tasks/__init__.py | 0 {server => src}/apps/core/tasks/messages.py | 0 {server => src}/apps/core/templates/base.html | 0 .../apps/core/templates/email.html | 0 {server => src}/apps/users/__init__.py | 0 {server => src}/apps/users/admin/__init__.py | 0 {server => src}/apps/users/admin/user.py | 0 {server => src}/apps/users/api/__init__.py | 0 .../apps/users/api/routes/__init__.py | 0 {server => src}/apps/users/api/routes/auth.py | 0 .../apps/users/api/serializers/__init__.py | 0 .../apps/users/api/serializers/user.py | 0 {server => src}/apps/users/api/urls.py | 0 .../apps/users/api/views/__init__.py | 0 {server => src}/apps/users/api/views/login.py | 0 .../apps/users/api/views/logout.py | 0 .../apps/users/api/views/register.py | 0 {server => src}/apps/users/apps.py | 0 {server => src}/apps/users/logic/__init__.py | 0 .../apps/users/logic/commands/__init__.py | 0 .../apps/users/logic/commands/login.py | 0 .../apps/users/logic/commands/logout.py | 0 .../apps/users/logic/commands/register.py | 0 .../send_registration_notification.py | 0 .../apps/users/logic/interfaces/__init__.py | 0 .../users/logic/interfaces/authentication.py | 0 .../apps/users/migrations/0001_initial.py | 0 .../users/migrations/0002_alter_user_id.py | 0 ...user_options_remove_user_login_and_more.py | 0 .../users/migrations/0004_remove_user_name.py | 0 .../apps/users/migrations/__init__.py | 0 {server => src}/apps/users/models/__init__.py | 0 .../apps/users/models/managers/__init__.py | 0 .../apps/users/models/managers/user.py | 0 {server => src}/apps/users/models/token.py | 0 {server => src}/apps/users/models/user.py | 0 {server => src}/apps/users/pages/__init__.py | 0 {server => src}/apps/users/pages/urls.py | 0 .../apps/users/pages/views/__init__.py | 0 .../apps/users/pages/views/users/__init__.py | 0 .../apps/users/pages/views/users/login.py | 0 .../apps/users/pages/views/users/logout.py | 0 .../apps/users/pages/views/users/register.py | 0 .../apps/users/services/__init__.py | 0 {server => src}/apps/users/services/auth.py | 0 .../apps/users/services/modules.py | 0 .../apps/users/templates/users/login.html | 0 .../apps/users/templates/users/register.html | 0 {server => src}/asgi.py | 2 +- {server => src}/celery_app.py | 4 +- .../locale}/en/LC_MESSAGES/django.po | 0 manage.py => src/manage.py | 5 ++- {server => src}/settings/__init__.py | 0 .../settings/components/__init__.py | 0 {server => src}/settings/components/api.py | 0 {server => src}/settings/components/apps.py | 0 {server => src}/settings/components/auth.py | 0 {server => src}/settings/components/celery.py | 0 {server => src}/settings/components/common.py | 4 +- {server => src}/settings/components/email.py | 0 {server => src}/settings/components/health.py | 0 {server => src}/settings/components/i18n.py | 6 +-- {server => src}/settings/components/logs.py | 0 {server => src}/settings/components/media.py | 0 .../settings/components/middleware.py | 0 {server => src}/settings/components/models.py | 0 .../settings/components/security.py | 0 {server => src}/settings/components/static.py | 0 .../settings/components/templates.py | 4 +- src/settings/environments/__init__.py | 0 .../settings/environments/build.py | 0 .../environments/development.py.example | 2 +- .../settings/environments/production.py | 0 {server => src}/settings/environments/test.py | 0 {server => src}/urls.py | 0 {server => src}/wsgi.py | 2 +- 185 files changed, 95 insertions(+), 184 deletions(-) rename {ci => devops/ci}/docker-compose.yml (100%) rename {docker => devops/docker}/Dockerfile (79%) rename {docker => devops/docker}/nginx/nginx.conf (76%) create mode 100644 devops/docker/server/Makefile delete mode 100644 docker/.dockerignore.production delete mode 100644 docker/nginx/uwsgi_params delete mode 100755 docker/server/backend.sh delete mode 100755 docker/server/celery_beat.sh delete mode 100755 docker/server/celery_worker.sh delete mode 100755 docker/server/flower.sh delete mode 100755 scripts/lint.sh delete mode 100644 server/__init__.py create mode 100644 src/__init__.py rename {server => src}/apps/__init__.py (100%) rename {server => src}/apps/blogs/__init__.py (100%) rename {server => src}/apps/blogs/admin/__init__.py (100%) rename {server => src}/apps/blogs/admin/post.py (100%) rename {server => src}/apps/blogs/api/__init__.py (100%) rename {server => src}/apps/blogs/api/routes/__init__.py (100%) rename {server => src}/apps/blogs/api/routes/posts.py (100%) rename {server => src}/apps/blogs/api/serializers/__init__.py (100%) rename {server => src}/apps/blogs/api/serializers/post.py (100%) rename {server => src}/apps/blogs/api/serializers/post_card.py (100%) rename {server => src}/apps/blogs/api/urls.py (100%) rename {server => src}/apps/blogs/api/views/__init__.py (100%) rename {server => src}/apps/blogs/api/views/posts/__init__.py (100%) rename {server => src}/apps/blogs/api/views/posts/create.py (100%) rename {server => src}/apps/blogs/api/views/posts/delete.py (100%) rename {server => src}/apps/blogs/api/views/posts/list.py (100%) rename {server => src}/apps/blogs/api/views/posts/retrieve.py (100%) rename {server => src}/apps/blogs/api/views/posts/update.py (100%) rename {server => src}/apps/blogs/apps.py (100%) rename {server => src}/apps/blogs/logic/__init__.py (100%) rename {server => src}/apps/blogs/logic/commands/__init__.py (100%) rename {server => src}/apps/blogs/logic/commands/posts/__init__.py (100%) rename {server => src}/apps/blogs/logic/commands/posts/create.py (100%) rename {server => src}/apps/blogs/logic/commands/posts/delete.py (100%) rename {server => src}/apps/blogs/logic/commands/posts/update.py (100%) rename {server => src}/apps/blogs/logic/queries/__init__.py (100%) rename {server => src}/apps/blogs/logic/queries/posts/__init__.py (100%) rename {server => src}/apps/blogs/logic/queries/posts/list.py (100%) rename {server => src}/apps/blogs/logic/queries/posts/my.py (100%) rename {server => src}/apps/blogs/logic/queries/posts/retrieve.py (100%) rename {server => src}/apps/blogs/migrations/0001_initial.py (100%) rename {server => src}/apps/blogs/migrations/0002_alter_post_content_alter_post_title.py (100%) rename {server => src}/apps/blogs/migrations/0003_post_status.py (100%) rename {server => src}/apps/blogs/migrations/0004_alter_post_status.py (100%) rename {server => src}/apps/blogs/migrations/0005_alter_post_unique_together.py (100%) rename {server => src}/apps/blogs/migrations/__init__.py (100%) rename {server => src}/apps/blogs/models/__init__.py (100%) rename {server => src}/apps/blogs/models/enums/__init__.py (100%) rename {server => src}/apps/blogs/models/enums/post_status.py (100%) rename {server => src}/apps/blogs/models/post.py (100%) rename {server => src}/apps/blogs/pages/__init__.py (100%) rename {server => src}/apps/blogs/pages/urls.py (100%) rename {server => src}/apps/blogs/pages/views/__init__.py (100%) rename {server => src}/apps/blogs/pages/views/posts/__init__.py (100%) rename {server => src}/apps/blogs/pages/views/posts/create.py (100%) rename {server => src}/apps/blogs/pages/views/posts/delete.py (100%) rename {server => src}/apps/blogs/pages/views/posts/detail.py (100%) rename {server => src}/apps/blogs/pages/views/posts/edit.py (100%) rename {server => src}/apps/blogs/pages/views/posts/list.py (100%) rename {server => src}/apps/blogs/pages/views/posts/my.py (100%) rename {server => src}/apps/blogs/templates/posts/create.html (100%) rename {server => src}/apps/blogs/templates/posts/detail.html (100%) rename {server => src}/apps/blogs/templates/posts/edit.html (100%) rename {server => src}/apps/blogs/templates/posts/list.html (100%) rename {server => src}/apps/core/__init__.py (100%) rename {server => src}/apps/core/api/__init__.py (100%) rename {server => src}/apps/core/api/docs.py (100%) rename {server => src}/apps/core/api/routers/__init__.py (100%) rename {server => src}/apps/core/api/routers/actions.py (100%) rename {server => src}/apps/core/api/views/__init__.py (100%) rename {server => src}/apps/core/api/views/base_api.py (100%) rename {server => src}/apps/core/api/views/base_command.py (100%) rename {server => src}/apps/core/api/views/base_list_query.py (100%) rename {server => src}/apps/core/api/views/base_query.py (100%) rename {server => src}/apps/core/api/views/base_retrieve_query.py (100%) rename {server => src}/apps/core/apps.py (100%) rename {server => src}/apps/core/errors.py (100%) rename {server => src}/apps/core/helpers/__init__.py (100%) rename {server => src}/apps/core/helpers/module_loading.py (100%) rename {server => src}/apps/core/logic/__init__.py (100%) rename {server => src}/apps/core/logic/errors.py (100%) rename {server => src}/apps/core/logic/interfaces/__init__.py (100%) rename {server => src}/apps/core/logic/interfaces/email.py (100%) rename {server => src}/apps/core/logic/messages/__init__.py (100%) rename {server => src}/apps/core/logic/messages/base.py (100%) rename {server => src}/apps/core/logic/messages/interfaces.py (100%) rename {server => src}/apps/core/logic/messages/shortcuts.py (100%) rename {server => src}/apps/core/logic/messages/types.py (100%) rename {server => src}/apps/core/pages/__init__.py (100%) rename {server => src}/apps/core/pages/base.py (100%) rename {server => src}/apps/core/pages/base_command.py (100%) rename {server => src}/apps/core/pages/base_list_query.py (100%) rename {server => src}/apps/core/pages/base_query.py (100%) rename {server => src}/apps/core/pages/base_retrieve_query.py (100%) rename {server => src}/apps/core/services/__init__.py (100%) rename {server => src}/apps/core/services/email.py (100%) rename {server => src}/apps/core/services/errors.py (100%) rename {server => src}/apps/core/services/message_bus.py (100%) rename {server => src}/apps/core/services/modules.py (100%) rename {server => src}/apps/core/tasks/__init__.py (100%) rename {server => src}/apps/core/tasks/messages.py (100%) rename {server => src}/apps/core/templates/base.html (100%) rename {server => src}/apps/core/templates/email.html (100%) rename {server => src}/apps/users/__init__.py (100%) rename {server => src}/apps/users/admin/__init__.py (100%) rename {server => src}/apps/users/admin/user.py (100%) rename {server => src}/apps/users/api/__init__.py (100%) rename {server => src}/apps/users/api/routes/__init__.py (100%) rename {server => src}/apps/users/api/routes/auth.py (100%) rename {server => src}/apps/users/api/serializers/__init__.py (100%) rename {server => src}/apps/users/api/serializers/user.py (100%) rename {server => src}/apps/users/api/urls.py (100%) rename {server => src}/apps/users/api/views/__init__.py (100%) rename {server => src}/apps/users/api/views/login.py (100%) rename {server => src}/apps/users/api/views/logout.py (100%) rename {server => src}/apps/users/api/views/register.py (100%) rename {server => src}/apps/users/apps.py (100%) rename {server => src}/apps/users/logic/__init__.py (100%) rename {server => src}/apps/users/logic/commands/__init__.py (100%) rename {server => src}/apps/users/logic/commands/login.py (100%) rename {server => src}/apps/users/logic/commands/logout.py (100%) rename {server => src}/apps/users/logic/commands/register.py (100%) rename {server => src}/apps/users/logic/commands/send_registration_notification.py (100%) rename {server => src}/apps/users/logic/interfaces/__init__.py (100%) rename {server => src}/apps/users/logic/interfaces/authentication.py (100%) rename {server => src}/apps/users/migrations/0001_initial.py (100%) rename {server => src}/apps/users/migrations/0002_alter_user_id.py (100%) rename {server => src}/apps/users/migrations/0003_alter_user_options_remove_user_login_and_more.py (100%) rename {server => src}/apps/users/migrations/0004_remove_user_name.py (100%) rename {server => src}/apps/users/migrations/__init__.py (100%) rename {server => src}/apps/users/models/__init__.py (100%) rename {server => src}/apps/users/models/managers/__init__.py (100%) rename {server => src}/apps/users/models/managers/user.py (100%) rename {server => src}/apps/users/models/token.py (100%) rename {server => src}/apps/users/models/user.py (100%) rename {server => src}/apps/users/pages/__init__.py (100%) rename {server => src}/apps/users/pages/urls.py (100%) rename {server => src}/apps/users/pages/views/__init__.py (100%) rename {server => src}/apps/users/pages/views/users/__init__.py (100%) rename {server => src}/apps/users/pages/views/users/login.py (100%) rename {server => src}/apps/users/pages/views/users/logout.py (100%) rename {server => src}/apps/users/pages/views/users/register.py (100%) rename {server => src}/apps/users/services/__init__.py (100%) rename {server => src}/apps/users/services/auth.py (100%) rename {server => src}/apps/users/services/modules.py (100%) rename {server => src}/apps/users/templates/users/login.html (100%) rename {server => src}/apps/users/templates/users/register.html (100%) rename {server => src}/asgi.py (59%) rename {server => src}/celery_app.py (86%) rename {locale => src/locale}/en/LC_MESSAGES/django.po (100%) rename manage.py => src/manage.py (86%) rename {server => src}/settings/__init__.py (100%) rename {server => src}/settings/components/__init__.py (100%) rename {server => src}/settings/components/api.py (100%) rename {server => src}/settings/components/apps.py (100%) rename {server => src}/settings/components/auth.py (100%) rename {server => src}/settings/components/celery.py (100%) rename {server => src}/settings/components/common.py (54%) rename {server => src}/settings/components/email.py (100%) rename {server => src}/settings/components/health.py (100%) rename {server => src}/settings/components/i18n.py (70%) rename {server => src}/settings/components/logs.py (100%) rename {server => src}/settings/components/media.py (100%) rename {server => src}/settings/components/middleware.py (100%) rename {server => src}/settings/components/models.py (100%) rename {server => src}/settings/components/security.py (100%) rename {server => src}/settings/components/static.py (100%) rename {server => src}/settings/components/templates.py (90%) create mode 100644 src/settings/environments/__init__.py rename {server => src}/settings/environments/build.py (100%) rename {server => src}/settings/environments/development.py.example (92%) rename {server => src}/settings/environments/production.py (100%) rename {server => src}/settings/environments/test.py (100%) rename {server => src}/urls.py (100%) rename {server => src}/wsgi.py (59%) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index d7f4241..0b009bb 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -102,7 +102,7 @@ jobs: env: APP_TEST_IMAGE: ${{ env.TEST_IMAGE_NAME }} run: | - docker-compose -f ci/docker-compose.yml up --exit-code-from app + docker-compose -f devops/ci/docker-compose.yml up --exit-code-from app build: runs-on: ubuntu-20.04 @@ -130,9 +130,6 @@ jobs: type=sha,priority=300 type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }} - - name: Update .dockerignore - run: cat docker/.dockerignore.production >> .dockerignore - - name: Build production and push Docker image uses: docker/build-push-action@v2 with: diff --git a/.gitignore b/.gitignore index b9550b4..0c23074 100644 --- a/.gitignore +++ b/.gitignore @@ -159,4 +159,5 @@ cython_debug/ # option (not recommended) you can uncomment the following to ignore the entire idea folder. .idea/ server/settings/environments/development.py -pytest.ini \ No newline at end of file +pytest.ini +run \ No newline at end of file diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b3ad3cd..7b0148e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -16,10 +16,10 @@ repos: - id: polint name: polint language: system - entry: poetry run polint -i location,unsorted,untranslated locale + entry: poetry run polint -i location,unsorted,untranslated src/locale pass_filenames: false - id: dennis name: dennis language: system - entry: poetry run dennis-cmd lint --errorsonly locale + entry: poetry run dennis-cmd lint --errorsonly src/locale pass_filenames: false diff --git a/Makefile b/Makefile index 4cc67bd..d91dd17 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # -- poetry -- poetry-install: - @poetry install --remove-untracked + poetry install --remove-untracked # -- code -- @@ -9,37 +9,37 @@ lint: black --check . mypy . flake8 . - DJANGO_ENV=build python manage.py makemigrations --dry-run --check + DJANGO_ENV=build python src/manage.py makemigrations --dry-run --check xenon --max-absolute A \ --max-modules A \ --max-average A \ - --exclude server/apps/core/graphql/fields/query_connection.py \ - server + --exclude src/apps/core/graphql/fields/query_connection.py \ + src poetry check pip check # safety check --bare --full-report -i 39462 - polint -i location,unsorted locale - dennis-cmd lint --errorsonly locale + polint -i location,unsorted src/locale + dennis-cmd lint --errorsonly src/locale test: - @pytest + pytest # -- django -- make-messages: - @python manage.py makemessages --ignore=.venv/* -l en --no-location + python src/manage.py makemessages -l en --no-location compile-messages: - @python manage.py compilemessages + python src/manage.py compilemessages # -- pre-commit -- pre-commit: - @pre-commit + pre-commit pre-commit-install: - @pre-commit install - @pre-commit install --hook-type commit-msg + pre-commit install + pre-commit install --hook-type commit-msg pre-commit-update: - @pre-commit autoupdate + pre-commit autoupdate diff --git a/ci/docker-compose.yml b/devops/ci/docker-compose.yml similarity index 100% rename from ci/docker-compose.yml rename to devops/ci/docker-compose.yml diff --git a/docker/Dockerfile b/devops/docker/Dockerfile similarity index 79% rename from docker/Dockerfile rename to devops/docker/Dockerfile index b96fff7..f91fa82 100644 --- a/docker/Dockerfile +++ b/devops/docker/Dockerfile @@ -40,17 +40,15 @@ RUN apt-get update \ FROM base as production -ARG APP_VERSION - -RUN groupadd --system --gid 10001 app \ - && useradd --system --uid 10001 --no-log-init -g app app - -COPY . . +COPY devops/docker/server . +COPY devops/docker/nginx/* /etc/nginx +COPY ./src ./src RUN export DJANGO_ENV=build \ - && python manage.py collectstatic --noinput --verbosity 0 \ - && python manage.py compilemessages \ - && cp docker/nginx/* /etc/nginx \ + && python src/manage.py collectstatic --noinput --verbosity 0 \ + && python src/manage.py compilemessages \ + && groupadd --system --gid 10001 app \ + && useradd --system --uid 10001 --no-log-init -g app app \ && chmod -R 755 /app \ && mkdir /var/run/app \ && mkdir /var/run/nginx \ @@ -61,12 +59,11 @@ RUN export DJANGO_ENV=build \ && ln -sf /dev/stderr /var/log/nginx/error.log -ENV DJANGO_ENV=production \ - APP_VERSION=$APP_VERSION +ENV DJANGO_ENV=production USER app -CMD ["/bin/bash", "docker/server/backend.sh"] +CMD ["make", "server"] # --- @@ -77,4 +74,5 @@ RUN poetry install --no-interaction --no-ansi COPY . . RUN export DJANGO_ENV=build \ - && python manage.py compilemessages + && python src/manage.py compilemessages + diff --git a/docker/nginx/nginx.conf b/devops/docker/nginx/nginx.conf similarity index 76% rename from docker/nginx/nginx.conf rename to devops/docker/nginx/nginx.conf index a298054..9a52b0a 100644 --- a/docker/nginx/nginx.conf +++ b/devops/docker/nginx/nginx.conf @@ -1,4 +1,4 @@ -worker_processes auto; +worker_processes auto; pid /var/run/nginx/pid; @@ -21,14 +21,9 @@ http { access_log /var/run/nginx/access.log; error_log /var/run/nginx/errors.log; - upstream django { - server unix:/var/run/app/uwsgi.sock; - } - server { listen 8080 default_server; charset utf-8; - client_max_body_size 75M; location /static/ { expires max; @@ -39,10 +34,5 @@ http { expires max; root /var/www; } - - location / { - include /etc/nginx/uwsgi_params; - uwsgi_pass django; - } } } diff --git a/devops/docker/server/Makefile b/devops/docker/server/Makefile new file mode 100644 index 0000000..b900e9d --- /dev/null +++ b/devops/docker/server/Makefile @@ -0,0 +1,30 @@ +CPU_COUNT = $(shell nproc) + +GUNICORN_WORKERS_COUNT ?= ${CPU_COUNT} +CELERY_CONCURRENCY ?= ${CPU_COUNT} + +.PHONY: server +server: + @python src/manage.py migrate + @gunicorn src.asgi:application \ + -k uvicorn.workers.UvicornWorker \ + --bind 0.0.0.0:8000 + +.PHONY: celery-beat +celery-beat: + @rm -f /var/run/app/celerybeat.pid + @celery -A src.celery_app beat \ + -s /var/run/app/celerybeat.schedule \ + --pidfile /var/run/app/celerybeat.pid + +.PHONY: celery-worker +celery-worker: + @celery -A src.celery_app worker --concurrency ${CELERY_CONCURRENCY} + +.PHONY: flower +flower: + @celery -A src.celery_app flower --url_prefix=admin/flower + +.PHONY: static +static: + @nginx -g 'daemon off;' diff --git a/docker/.dockerignore.production b/docker/.dockerignore.production deleted file mode 100644 index 2b29f27..0000000 --- a/docker/.dockerignore.production +++ /dev/null @@ -1 +0,0 @@ -tests diff --git a/docker/nginx/uwsgi_params b/docker/nginx/uwsgi_params deleted file mode 100644 index d26f2ff..0000000 --- a/docker/nginx/uwsgi_params +++ /dev/null @@ -1,16 +0,0 @@ -uwsgi_param QUERY_STRING $query_string; -uwsgi_param REQUEST_METHOD $request_method; -uwsgi_param CONTENT_TYPE $content_type; -uwsgi_param CONTENT_LENGTH $content_length; - -uwsgi_param REQUEST_URI $request_uri; -uwsgi_param PATH_INFO $document_uri; -uwsgi_param DOCUMENT_ROOT $document_root; -uwsgi_param SERVER_PROTOCOL $server_protocol; -uwsgi_param REQUEST_SCHEME $scheme; -uwsgi_param HTTPS $https if_not_empty; - -uwsgi_param REMOTE_ADDR $remote_addr; -uwsgi_param REMOTE_PORT $remote_port; -uwsgi_param SERVER_PORT $server_port; -uwsgi_param SERVER_NAME $server_name; \ No newline at end of file diff --git a/docker/server/backend.sh b/docker/server/backend.sh deleted file mode 100755 index dcd92c2..0000000 --- a/docker/server/backend.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash - -set -o errexit - -./manage.py migrate - -nginx - -gunicorn server.asgi:application -k uvicorn.workers.UvicornWorker \ No newline at end of file diff --git a/docker/server/celery_beat.sh b/docker/server/celery_beat.sh deleted file mode 100755 index cb46057..0000000 --- a/docker/server/celery_beat.sh +++ /dev/null @@ -1,7 +0,0 @@ -#! /bin/bash - -rm -f /var/run/app/celerybeat.pid - -celery -A server.celery_app beat \ - -s /var/run/app/celerybeat.schedule \ - --pidfile /var/run/app/celerybeat.pid diff --git a/docker/server/celery_worker.sh b/docker/server/celery_worker.sh deleted file mode 100755 index 2639869..0000000 --- a/docker/server/celery_worker.sh +++ /dev/null @@ -1,16 +0,0 @@ -#! /bin/bash - -set -o errexit - -_CELERY_OPTS="-A server.celery_app worker" -if [ "${CELERY_CONCURRENCY:-}" != "" ] -then - _CELERY_OPTS="${_CELERY_OPTS} --concurrency ${CELERY_CONCURRENCY}" -fi - -if [ "${CELERY_QUEUES:-}" != "" ] -then - _CELERY_OPTS="${_CELERY_OPTS} -Q ${CELERY_QUEUES}" -fi - -celery ${_CELERY_OPTS} diff --git a/docker/server/flower.sh b/docker/server/flower.sh deleted file mode 100755 index 9b49fc6..0000000 --- a/docker/server/flower.sh +++ /dev/null @@ -1,8 +0,0 @@ -#! /bin/bash - -set -o errexit - -_CELERY_OPTS="-A server.celery_app flower --url_prefix=admin/flower" - -celery ${_CELERY_OPTS} - diff --git a/poetry.lock b/poetry.lock index 5ef48e7..8102ec6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -157,7 +157,6 @@ click = ">=8.0.0" mypy-extensions = ">=0.4.3" pathspec = ">=0.9.0" platformdirs = ">=2" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] @@ -375,9 +374,6 @@ files = [ {file = "coverage-6.4.3.tar.gz", hash = "sha256:ec2ae1f398e5aca655b7084392d23e80efb31f7a660d2eecf569fb9f79b3fb94"}, ] -[package.dependencies] -tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""} - [package.extras] toml = ["tomli"] @@ -1318,7 +1314,6 @@ files = [ [package.dependencies] mypy-extensions = ">=0.4.3" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} typing-extensions = ">=3.10" [package.extras] @@ -2450,5 +2445,5 @@ requests = ">=2.0,<3.0" [metadata] lock-version = "2.0" -python-versions = "^3.10" -content-hash = "dd8616d5c8d3a17fe8e9969fb267e828f22bfa41b1cbac91eb7a7fc314006b78" +python-versions = "^3.11" +content-hash = "591a452b16af456ffcdab5fd8c283b6d2a07cbbbc9a709f64ccdb0c5e96d0bd8" diff --git a/pyproject.toml b/pyproject.toml index 0a611e1..329ef3b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ description = "" authors = ["Lapshin Stanislav"] [tool.poetry.dependencies] -python = "^3.10" +python = "^3.11" python-decouple = "*" psycopg2-binary = "*" pymemcache = "*" diff --git a/scripts/lint.sh b/scripts/lint.sh deleted file mode 100755 index 60729ec..0000000 --- a/scripts/lint.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env sh - -set -o errexit -set -o nounset - -run_checkers() { - black --check . - - mypy . - - flake8 . - - # Running code-quality check: - xenon --max-absolute A \ - --max-modules A \ - --max-average A \ - --exclude server/apps/core/graphql/fields/query_connection.py \ - server - - # Check that all migrations worked fine: - DJANGO_ENV=build python manage.py makemigrations --dry-run --check - - # Checking `pyproject.toml` file contents: - poetry check - - # Checking dependencies status: - pip check - - # Checking if all the dependencies are secure and do not have any - # known vulnerabilities: -# safety check --bare --full-report -i 39462 - - # po files - polint -i location,unsorted locale - - if find locale -name '*.po' -print0 | grep -q "."; then - # Only executes when there is at least one `.po` file: - dennis-cmd lint --errorsonly locale - fi -} - -run_checkers diff --git a/server/__init__.py b/server/__init__.py deleted file mode 100644 index 7f6e196..0000000 --- a/server/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -import sys -from pathlib import PurePath - -BASE_DIR = PurePath(__file__).parent.parent - -sys.path.append(str(BASE_DIR.joinpath("server"))) diff --git a/setup.cfg b/setup.cfg index 00fabbf..1654a9d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -10,7 +10,7 @@ doctests = True enable-extensions = G no-accept-encodings = True -# Flake plugins: +# Flake plugins max-line-length = 80 max-complexity = 6 radon-max-cc = 10 @@ -27,12 +27,12 @@ exclude = .git, ignore = D100 D104 D106 D401 X100 W503 WPS306 WPS317 WPS121 DJ12 WPS348 per-file-ignores = - server/settings/*.py: WPS226 WPS407 WPS412 WPS432 - server/*/migrations/*.py: WPS102 WPS432 E501 DJ01 WPS318 WPS319 C101 WPS458 WPS226 WPS118 + src/settings/*.py: WPS226 WPS407 WPS412 WPS432 + src/*/migrations/*.py: WPS102 WPS432 E501 DJ01 WPS318 WPS319 C101 WPS458 WPS226 WPS118 WPS114, WPS301, D101 D103 Q000 WPS221 I001 I003 WPS219 - server/__init__.py: WPS412 - server/*/**/__init__.py: F401 WPS300 WPS412 I001 WPS412 WPS410 - server/apps/*/models/enums/**.py: WPS115 WPS412 WPS300 F401 + src/__init__.py: WPS412 + src/*/**/__init__.py: F401 WPS300 WPS412 I001 WPS412 WPS410 + src/apps/*/models/enums/**.py: WPS115 WPS412 WPS300 F401 tests/*.py: S101 WPS432 WPS226 WPS442 S106 WPS204 S105 tests/*/**/__init__.py: WPS412 F401 WPS300 WPS410 @@ -40,7 +40,9 @@ per-file-ignores = [tool:pytest] # Django configuration: # https://pytest-django.readthedocs.io/en/latest/ -DJANGO_SETTINGS_MODULE = server.settings +DJANGO_SETTINGS_MODULE = src.settings +django_find_project = false +pythonpath = . src # Directories that are not visited by pytest collector: norecursedirs = *.egg .eggs dist build docs .tox .git __pycache__ @@ -56,7 +58,7 @@ addopts = --nomigrations --durations=15 --maxfail=20 - --cov=server + --cov=src --cov=tests --cov-branch --cov-report= @@ -66,7 +68,7 @@ addopts = ; error [coverage:run] -omit = server/*/migrations/* +omit = src/*/migrations/* [isort] # isort configuration: @@ -79,7 +81,7 @@ line_length = 79 skip = __init__.py, migrations force_grid_wrap = 0 use_parentheses = True -src_paths = server,tests +src_paths = src,tests [darglint] # darglint configuration: @@ -105,10 +107,10 @@ warn_unused_configs = True warn_unreachable = True warn_no_return = True -[mypy-server.*.migrations.*] +[mypy-src.*.migrations.*] ignore_errors = True -[mypy-server.apps.*.models] +[mypy-src.apps.*.models] # FIXME: remove this line, when `django-stubs` will stop # using `Any` inside. disallow_any_explicit = False diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..4322e53 --- /dev/null +++ b/src/__init__.py @@ -0,0 +1,4 @@ +import sys +from pathlib import PurePath + +sys.path.append(str(PurePath(__file__).parent)) diff --git a/server/apps/__init__.py b/src/apps/__init__.py similarity index 100% rename from server/apps/__init__.py rename to src/apps/__init__.py diff --git a/server/apps/blogs/__init__.py b/src/apps/blogs/__init__.py similarity index 100% rename from server/apps/blogs/__init__.py rename to src/apps/blogs/__init__.py diff --git a/server/apps/blogs/admin/__init__.py b/src/apps/blogs/admin/__init__.py similarity index 100% rename from server/apps/blogs/admin/__init__.py rename to src/apps/blogs/admin/__init__.py diff --git a/server/apps/blogs/admin/post.py b/src/apps/blogs/admin/post.py similarity index 100% rename from server/apps/blogs/admin/post.py rename to src/apps/blogs/admin/post.py diff --git a/server/apps/blogs/api/__init__.py b/src/apps/blogs/api/__init__.py similarity index 100% rename from server/apps/blogs/api/__init__.py rename to src/apps/blogs/api/__init__.py diff --git a/server/apps/blogs/api/routes/__init__.py b/src/apps/blogs/api/routes/__init__.py similarity index 100% rename from server/apps/blogs/api/routes/__init__.py rename to src/apps/blogs/api/routes/__init__.py diff --git a/server/apps/blogs/api/routes/posts.py b/src/apps/blogs/api/routes/posts.py similarity index 100% rename from server/apps/blogs/api/routes/posts.py rename to src/apps/blogs/api/routes/posts.py diff --git a/server/apps/blogs/api/serializers/__init__.py b/src/apps/blogs/api/serializers/__init__.py similarity index 100% rename from server/apps/blogs/api/serializers/__init__.py rename to src/apps/blogs/api/serializers/__init__.py diff --git a/server/apps/blogs/api/serializers/post.py b/src/apps/blogs/api/serializers/post.py similarity index 100% rename from server/apps/blogs/api/serializers/post.py rename to src/apps/blogs/api/serializers/post.py diff --git a/server/apps/blogs/api/serializers/post_card.py b/src/apps/blogs/api/serializers/post_card.py similarity index 100% rename from server/apps/blogs/api/serializers/post_card.py rename to src/apps/blogs/api/serializers/post_card.py diff --git a/server/apps/blogs/api/urls.py b/src/apps/blogs/api/urls.py similarity index 100% rename from server/apps/blogs/api/urls.py rename to src/apps/blogs/api/urls.py diff --git a/server/apps/blogs/api/views/__init__.py b/src/apps/blogs/api/views/__init__.py similarity index 100% rename from server/apps/blogs/api/views/__init__.py rename to src/apps/blogs/api/views/__init__.py diff --git a/server/apps/blogs/api/views/posts/__init__.py b/src/apps/blogs/api/views/posts/__init__.py similarity index 100% rename from server/apps/blogs/api/views/posts/__init__.py rename to src/apps/blogs/api/views/posts/__init__.py diff --git a/server/apps/blogs/api/views/posts/create.py b/src/apps/blogs/api/views/posts/create.py similarity index 100% rename from server/apps/blogs/api/views/posts/create.py rename to src/apps/blogs/api/views/posts/create.py diff --git a/server/apps/blogs/api/views/posts/delete.py b/src/apps/blogs/api/views/posts/delete.py similarity index 100% rename from server/apps/blogs/api/views/posts/delete.py rename to src/apps/blogs/api/views/posts/delete.py diff --git a/server/apps/blogs/api/views/posts/list.py b/src/apps/blogs/api/views/posts/list.py similarity index 100% rename from server/apps/blogs/api/views/posts/list.py rename to src/apps/blogs/api/views/posts/list.py diff --git a/server/apps/blogs/api/views/posts/retrieve.py b/src/apps/blogs/api/views/posts/retrieve.py similarity index 100% rename from server/apps/blogs/api/views/posts/retrieve.py rename to src/apps/blogs/api/views/posts/retrieve.py diff --git a/server/apps/blogs/api/views/posts/update.py b/src/apps/blogs/api/views/posts/update.py similarity index 100% rename from server/apps/blogs/api/views/posts/update.py rename to src/apps/blogs/api/views/posts/update.py diff --git a/server/apps/blogs/apps.py b/src/apps/blogs/apps.py similarity index 100% rename from server/apps/blogs/apps.py rename to src/apps/blogs/apps.py diff --git a/server/apps/blogs/logic/__init__.py b/src/apps/blogs/logic/__init__.py similarity index 100% rename from server/apps/blogs/logic/__init__.py rename to src/apps/blogs/logic/__init__.py diff --git a/server/apps/blogs/logic/commands/__init__.py b/src/apps/blogs/logic/commands/__init__.py similarity index 100% rename from server/apps/blogs/logic/commands/__init__.py rename to src/apps/blogs/logic/commands/__init__.py diff --git a/server/apps/blogs/logic/commands/posts/__init__.py b/src/apps/blogs/logic/commands/posts/__init__.py similarity index 100% rename from server/apps/blogs/logic/commands/posts/__init__.py rename to src/apps/blogs/logic/commands/posts/__init__.py diff --git a/server/apps/blogs/logic/commands/posts/create.py b/src/apps/blogs/logic/commands/posts/create.py similarity index 100% rename from server/apps/blogs/logic/commands/posts/create.py rename to src/apps/blogs/logic/commands/posts/create.py diff --git a/server/apps/blogs/logic/commands/posts/delete.py b/src/apps/blogs/logic/commands/posts/delete.py similarity index 100% rename from server/apps/blogs/logic/commands/posts/delete.py rename to src/apps/blogs/logic/commands/posts/delete.py diff --git a/server/apps/blogs/logic/commands/posts/update.py b/src/apps/blogs/logic/commands/posts/update.py similarity index 100% rename from server/apps/blogs/logic/commands/posts/update.py rename to src/apps/blogs/logic/commands/posts/update.py diff --git a/server/apps/blogs/logic/queries/__init__.py b/src/apps/blogs/logic/queries/__init__.py similarity index 100% rename from server/apps/blogs/logic/queries/__init__.py rename to src/apps/blogs/logic/queries/__init__.py diff --git a/server/apps/blogs/logic/queries/posts/__init__.py b/src/apps/blogs/logic/queries/posts/__init__.py similarity index 100% rename from server/apps/blogs/logic/queries/posts/__init__.py rename to src/apps/blogs/logic/queries/posts/__init__.py diff --git a/server/apps/blogs/logic/queries/posts/list.py b/src/apps/blogs/logic/queries/posts/list.py similarity index 100% rename from server/apps/blogs/logic/queries/posts/list.py rename to src/apps/blogs/logic/queries/posts/list.py diff --git a/server/apps/blogs/logic/queries/posts/my.py b/src/apps/blogs/logic/queries/posts/my.py similarity index 100% rename from server/apps/blogs/logic/queries/posts/my.py rename to src/apps/blogs/logic/queries/posts/my.py diff --git a/server/apps/blogs/logic/queries/posts/retrieve.py b/src/apps/blogs/logic/queries/posts/retrieve.py similarity index 100% rename from server/apps/blogs/logic/queries/posts/retrieve.py rename to src/apps/blogs/logic/queries/posts/retrieve.py diff --git a/server/apps/blogs/migrations/0001_initial.py b/src/apps/blogs/migrations/0001_initial.py similarity index 100% rename from server/apps/blogs/migrations/0001_initial.py rename to src/apps/blogs/migrations/0001_initial.py diff --git a/server/apps/blogs/migrations/0002_alter_post_content_alter_post_title.py b/src/apps/blogs/migrations/0002_alter_post_content_alter_post_title.py similarity index 100% rename from server/apps/blogs/migrations/0002_alter_post_content_alter_post_title.py rename to src/apps/blogs/migrations/0002_alter_post_content_alter_post_title.py diff --git a/server/apps/blogs/migrations/0003_post_status.py b/src/apps/blogs/migrations/0003_post_status.py similarity index 100% rename from server/apps/blogs/migrations/0003_post_status.py rename to src/apps/blogs/migrations/0003_post_status.py diff --git a/server/apps/blogs/migrations/0004_alter_post_status.py b/src/apps/blogs/migrations/0004_alter_post_status.py similarity index 100% rename from server/apps/blogs/migrations/0004_alter_post_status.py rename to src/apps/blogs/migrations/0004_alter_post_status.py diff --git a/server/apps/blogs/migrations/0005_alter_post_unique_together.py b/src/apps/blogs/migrations/0005_alter_post_unique_together.py similarity index 100% rename from server/apps/blogs/migrations/0005_alter_post_unique_together.py rename to src/apps/blogs/migrations/0005_alter_post_unique_together.py diff --git a/server/apps/blogs/migrations/__init__.py b/src/apps/blogs/migrations/__init__.py similarity index 100% rename from server/apps/blogs/migrations/__init__.py rename to src/apps/blogs/migrations/__init__.py diff --git a/server/apps/blogs/models/__init__.py b/src/apps/blogs/models/__init__.py similarity index 100% rename from server/apps/blogs/models/__init__.py rename to src/apps/blogs/models/__init__.py diff --git a/server/apps/blogs/models/enums/__init__.py b/src/apps/blogs/models/enums/__init__.py similarity index 100% rename from server/apps/blogs/models/enums/__init__.py rename to src/apps/blogs/models/enums/__init__.py diff --git a/server/apps/blogs/models/enums/post_status.py b/src/apps/blogs/models/enums/post_status.py similarity index 100% rename from server/apps/blogs/models/enums/post_status.py rename to src/apps/blogs/models/enums/post_status.py diff --git a/server/apps/blogs/models/post.py b/src/apps/blogs/models/post.py similarity index 100% rename from server/apps/blogs/models/post.py rename to src/apps/blogs/models/post.py diff --git a/server/apps/blogs/pages/__init__.py b/src/apps/blogs/pages/__init__.py similarity index 100% rename from server/apps/blogs/pages/__init__.py rename to src/apps/blogs/pages/__init__.py diff --git a/server/apps/blogs/pages/urls.py b/src/apps/blogs/pages/urls.py similarity index 100% rename from server/apps/blogs/pages/urls.py rename to src/apps/blogs/pages/urls.py diff --git a/server/apps/blogs/pages/views/__init__.py b/src/apps/blogs/pages/views/__init__.py similarity index 100% rename from server/apps/blogs/pages/views/__init__.py rename to src/apps/blogs/pages/views/__init__.py diff --git a/server/apps/blogs/pages/views/posts/__init__.py b/src/apps/blogs/pages/views/posts/__init__.py similarity index 100% rename from server/apps/blogs/pages/views/posts/__init__.py rename to src/apps/blogs/pages/views/posts/__init__.py diff --git a/server/apps/blogs/pages/views/posts/create.py b/src/apps/blogs/pages/views/posts/create.py similarity index 100% rename from server/apps/blogs/pages/views/posts/create.py rename to src/apps/blogs/pages/views/posts/create.py diff --git a/server/apps/blogs/pages/views/posts/delete.py b/src/apps/blogs/pages/views/posts/delete.py similarity index 100% rename from server/apps/blogs/pages/views/posts/delete.py rename to src/apps/blogs/pages/views/posts/delete.py diff --git a/server/apps/blogs/pages/views/posts/detail.py b/src/apps/blogs/pages/views/posts/detail.py similarity index 100% rename from server/apps/blogs/pages/views/posts/detail.py rename to src/apps/blogs/pages/views/posts/detail.py diff --git a/server/apps/blogs/pages/views/posts/edit.py b/src/apps/blogs/pages/views/posts/edit.py similarity index 100% rename from server/apps/blogs/pages/views/posts/edit.py rename to src/apps/blogs/pages/views/posts/edit.py diff --git a/server/apps/blogs/pages/views/posts/list.py b/src/apps/blogs/pages/views/posts/list.py similarity index 100% rename from server/apps/blogs/pages/views/posts/list.py rename to src/apps/blogs/pages/views/posts/list.py diff --git a/server/apps/blogs/pages/views/posts/my.py b/src/apps/blogs/pages/views/posts/my.py similarity index 100% rename from server/apps/blogs/pages/views/posts/my.py rename to src/apps/blogs/pages/views/posts/my.py diff --git a/server/apps/blogs/templates/posts/create.html b/src/apps/blogs/templates/posts/create.html similarity index 100% rename from server/apps/blogs/templates/posts/create.html rename to src/apps/blogs/templates/posts/create.html diff --git a/server/apps/blogs/templates/posts/detail.html b/src/apps/blogs/templates/posts/detail.html similarity index 100% rename from server/apps/blogs/templates/posts/detail.html rename to src/apps/blogs/templates/posts/detail.html diff --git a/server/apps/blogs/templates/posts/edit.html b/src/apps/blogs/templates/posts/edit.html similarity index 100% rename from server/apps/blogs/templates/posts/edit.html rename to src/apps/blogs/templates/posts/edit.html diff --git a/server/apps/blogs/templates/posts/list.html b/src/apps/blogs/templates/posts/list.html similarity index 100% rename from server/apps/blogs/templates/posts/list.html rename to src/apps/blogs/templates/posts/list.html diff --git a/server/apps/core/__init__.py b/src/apps/core/__init__.py similarity index 100% rename from server/apps/core/__init__.py rename to src/apps/core/__init__.py diff --git a/server/apps/core/api/__init__.py b/src/apps/core/api/__init__.py similarity index 100% rename from server/apps/core/api/__init__.py rename to src/apps/core/api/__init__.py diff --git a/server/apps/core/api/docs.py b/src/apps/core/api/docs.py similarity index 100% rename from server/apps/core/api/docs.py rename to src/apps/core/api/docs.py diff --git a/server/apps/core/api/routers/__init__.py b/src/apps/core/api/routers/__init__.py similarity index 100% rename from server/apps/core/api/routers/__init__.py rename to src/apps/core/api/routers/__init__.py diff --git a/server/apps/core/api/routers/actions.py b/src/apps/core/api/routers/actions.py similarity index 100% rename from server/apps/core/api/routers/actions.py rename to src/apps/core/api/routers/actions.py diff --git a/server/apps/core/api/views/__init__.py b/src/apps/core/api/views/__init__.py similarity index 100% rename from server/apps/core/api/views/__init__.py rename to src/apps/core/api/views/__init__.py diff --git a/server/apps/core/api/views/base_api.py b/src/apps/core/api/views/base_api.py similarity index 100% rename from server/apps/core/api/views/base_api.py rename to src/apps/core/api/views/base_api.py diff --git a/server/apps/core/api/views/base_command.py b/src/apps/core/api/views/base_command.py similarity index 100% rename from server/apps/core/api/views/base_command.py rename to src/apps/core/api/views/base_command.py diff --git a/server/apps/core/api/views/base_list_query.py b/src/apps/core/api/views/base_list_query.py similarity index 100% rename from server/apps/core/api/views/base_list_query.py rename to src/apps/core/api/views/base_list_query.py diff --git a/server/apps/core/api/views/base_query.py b/src/apps/core/api/views/base_query.py similarity index 100% rename from server/apps/core/api/views/base_query.py rename to src/apps/core/api/views/base_query.py diff --git a/server/apps/core/api/views/base_retrieve_query.py b/src/apps/core/api/views/base_retrieve_query.py similarity index 100% rename from server/apps/core/api/views/base_retrieve_query.py rename to src/apps/core/api/views/base_retrieve_query.py diff --git a/server/apps/core/apps.py b/src/apps/core/apps.py similarity index 100% rename from server/apps/core/apps.py rename to src/apps/core/apps.py diff --git a/server/apps/core/errors.py b/src/apps/core/errors.py similarity index 100% rename from server/apps/core/errors.py rename to src/apps/core/errors.py diff --git a/server/apps/core/helpers/__init__.py b/src/apps/core/helpers/__init__.py similarity index 100% rename from server/apps/core/helpers/__init__.py rename to src/apps/core/helpers/__init__.py diff --git a/server/apps/core/helpers/module_loading.py b/src/apps/core/helpers/module_loading.py similarity index 100% rename from server/apps/core/helpers/module_loading.py rename to src/apps/core/helpers/module_loading.py diff --git a/server/apps/core/logic/__init__.py b/src/apps/core/logic/__init__.py similarity index 100% rename from server/apps/core/logic/__init__.py rename to src/apps/core/logic/__init__.py diff --git a/server/apps/core/logic/errors.py b/src/apps/core/logic/errors.py similarity index 100% rename from server/apps/core/logic/errors.py rename to src/apps/core/logic/errors.py diff --git a/server/apps/core/logic/interfaces/__init__.py b/src/apps/core/logic/interfaces/__init__.py similarity index 100% rename from server/apps/core/logic/interfaces/__init__.py rename to src/apps/core/logic/interfaces/__init__.py diff --git a/server/apps/core/logic/interfaces/email.py b/src/apps/core/logic/interfaces/email.py similarity index 100% rename from server/apps/core/logic/interfaces/email.py rename to src/apps/core/logic/interfaces/email.py diff --git a/server/apps/core/logic/messages/__init__.py b/src/apps/core/logic/messages/__init__.py similarity index 100% rename from server/apps/core/logic/messages/__init__.py rename to src/apps/core/logic/messages/__init__.py diff --git a/server/apps/core/logic/messages/base.py b/src/apps/core/logic/messages/base.py similarity index 100% rename from server/apps/core/logic/messages/base.py rename to src/apps/core/logic/messages/base.py diff --git a/server/apps/core/logic/messages/interfaces.py b/src/apps/core/logic/messages/interfaces.py similarity index 100% rename from server/apps/core/logic/messages/interfaces.py rename to src/apps/core/logic/messages/interfaces.py diff --git a/server/apps/core/logic/messages/shortcuts.py b/src/apps/core/logic/messages/shortcuts.py similarity index 100% rename from server/apps/core/logic/messages/shortcuts.py rename to src/apps/core/logic/messages/shortcuts.py diff --git a/server/apps/core/logic/messages/types.py b/src/apps/core/logic/messages/types.py similarity index 100% rename from server/apps/core/logic/messages/types.py rename to src/apps/core/logic/messages/types.py diff --git a/server/apps/core/pages/__init__.py b/src/apps/core/pages/__init__.py similarity index 100% rename from server/apps/core/pages/__init__.py rename to src/apps/core/pages/__init__.py diff --git a/server/apps/core/pages/base.py b/src/apps/core/pages/base.py similarity index 100% rename from server/apps/core/pages/base.py rename to src/apps/core/pages/base.py diff --git a/server/apps/core/pages/base_command.py b/src/apps/core/pages/base_command.py similarity index 100% rename from server/apps/core/pages/base_command.py rename to src/apps/core/pages/base_command.py diff --git a/server/apps/core/pages/base_list_query.py b/src/apps/core/pages/base_list_query.py similarity index 100% rename from server/apps/core/pages/base_list_query.py rename to src/apps/core/pages/base_list_query.py diff --git a/server/apps/core/pages/base_query.py b/src/apps/core/pages/base_query.py similarity index 100% rename from server/apps/core/pages/base_query.py rename to src/apps/core/pages/base_query.py diff --git a/server/apps/core/pages/base_retrieve_query.py b/src/apps/core/pages/base_retrieve_query.py similarity index 100% rename from server/apps/core/pages/base_retrieve_query.py rename to src/apps/core/pages/base_retrieve_query.py diff --git a/server/apps/core/services/__init__.py b/src/apps/core/services/__init__.py similarity index 100% rename from server/apps/core/services/__init__.py rename to src/apps/core/services/__init__.py diff --git a/server/apps/core/services/email.py b/src/apps/core/services/email.py similarity index 100% rename from server/apps/core/services/email.py rename to src/apps/core/services/email.py diff --git a/server/apps/core/services/errors.py b/src/apps/core/services/errors.py similarity index 100% rename from server/apps/core/services/errors.py rename to src/apps/core/services/errors.py diff --git a/server/apps/core/services/message_bus.py b/src/apps/core/services/message_bus.py similarity index 100% rename from server/apps/core/services/message_bus.py rename to src/apps/core/services/message_bus.py diff --git a/server/apps/core/services/modules.py b/src/apps/core/services/modules.py similarity index 100% rename from server/apps/core/services/modules.py rename to src/apps/core/services/modules.py diff --git a/server/apps/core/tasks/__init__.py b/src/apps/core/tasks/__init__.py similarity index 100% rename from server/apps/core/tasks/__init__.py rename to src/apps/core/tasks/__init__.py diff --git a/server/apps/core/tasks/messages.py b/src/apps/core/tasks/messages.py similarity index 100% rename from server/apps/core/tasks/messages.py rename to src/apps/core/tasks/messages.py diff --git a/server/apps/core/templates/base.html b/src/apps/core/templates/base.html similarity index 100% rename from server/apps/core/templates/base.html rename to src/apps/core/templates/base.html diff --git a/server/apps/core/templates/email.html b/src/apps/core/templates/email.html similarity index 100% rename from server/apps/core/templates/email.html rename to src/apps/core/templates/email.html diff --git a/server/apps/users/__init__.py b/src/apps/users/__init__.py similarity index 100% rename from server/apps/users/__init__.py rename to src/apps/users/__init__.py diff --git a/server/apps/users/admin/__init__.py b/src/apps/users/admin/__init__.py similarity index 100% rename from server/apps/users/admin/__init__.py rename to src/apps/users/admin/__init__.py diff --git a/server/apps/users/admin/user.py b/src/apps/users/admin/user.py similarity index 100% rename from server/apps/users/admin/user.py rename to src/apps/users/admin/user.py diff --git a/server/apps/users/api/__init__.py b/src/apps/users/api/__init__.py similarity index 100% rename from server/apps/users/api/__init__.py rename to src/apps/users/api/__init__.py diff --git a/server/apps/users/api/routes/__init__.py b/src/apps/users/api/routes/__init__.py similarity index 100% rename from server/apps/users/api/routes/__init__.py rename to src/apps/users/api/routes/__init__.py diff --git a/server/apps/users/api/routes/auth.py b/src/apps/users/api/routes/auth.py similarity index 100% rename from server/apps/users/api/routes/auth.py rename to src/apps/users/api/routes/auth.py diff --git a/server/apps/users/api/serializers/__init__.py b/src/apps/users/api/serializers/__init__.py similarity index 100% rename from server/apps/users/api/serializers/__init__.py rename to src/apps/users/api/serializers/__init__.py diff --git a/server/apps/users/api/serializers/user.py b/src/apps/users/api/serializers/user.py similarity index 100% rename from server/apps/users/api/serializers/user.py rename to src/apps/users/api/serializers/user.py diff --git a/server/apps/users/api/urls.py b/src/apps/users/api/urls.py similarity index 100% rename from server/apps/users/api/urls.py rename to src/apps/users/api/urls.py diff --git a/server/apps/users/api/views/__init__.py b/src/apps/users/api/views/__init__.py similarity index 100% rename from server/apps/users/api/views/__init__.py rename to src/apps/users/api/views/__init__.py diff --git a/server/apps/users/api/views/login.py b/src/apps/users/api/views/login.py similarity index 100% rename from server/apps/users/api/views/login.py rename to src/apps/users/api/views/login.py diff --git a/server/apps/users/api/views/logout.py b/src/apps/users/api/views/logout.py similarity index 100% rename from server/apps/users/api/views/logout.py rename to src/apps/users/api/views/logout.py diff --git a/server/apps/users/api/views/register.py b/src/apps/users/api/views/register.py similarity index 100% rename from server/apps/users/api/views/register.py rename to src/apps/users/api/views/register.py diff --git a/server/apps/users/apps.py b/src/apps/users/apps.py similarity index 100% rename from server/apps/users/apps.py rename to src/apps/users/apps.py diff --git a/server/apps/users/logic/__init__.py b/src/apps/users/logic/__init__.py similarity index 100% rename from server/apps/users/logic/__init__.py rename to src/apps/users/logic/__init__.py diff --git a/server/apps/users/logic/commands/__init__.py b/src/apps/users/logic/commands/__init__.py similarity index 100% rename from server/apps/users/logic/commands/__init__.py rename to src/apps/users/logic/commands/__init__.py diff --git a/server/apps/users/logic/commands/login.py b/src/apps/users/logic/commands/login.py similarity index 100% rename from server/apps/users/logic/commands/login.py rename to src/apps/users/logic/commands/login.py diff --git a/server/apps/users/logic/commands/logout.py b/src/apps/users/logic/commands/logout.py similarity index 100% rename from server/apps/users/logic/commands/logout.py rename to src/apps/users/logic/commands/logout.py diff --git a/server/apps/users/logic/commands/register.py b/src/apps/users/logic/commands/register.py similarity index 100% rename from server/apps/users/logic/commands/register.py rename to src/apps/users/logic/commands/register.py diff --git a/server/apps/users/logic/commands/send_registration_notification.py b/src/apps/users/logic/commands/send_registration_notification.py similarity index 100% rename from server/apps/users/logic/commands/send_registration_notification.py rename to src/apps/users/logic/commands/send_registration_notification.py diff --git a/server/apps/users/logic/interfaces/__init__.py b/src/apps/users/logic/interfaces/__init__.py similarity index 100% rename from server/apps/users/logic/interfaces/__init__.py rename to src/apps/users/logic/interfaces/__init__.py diff --git a/server/apps/users/logic/interfaces/authentication.py b/src/apps/users/logic/interfaces/authentication.py similarity index 100% rename from server/apps/users/logic/interfaces/authentication.py rename to src/apps/users/logic/interfaces/authentication.py diff --git a/server/apps/users/migrations/0001_initial.py b/src/apps/users/migrations/0001_initial.py similarity index 100% rename from server/apps/users/migrations/0001_initial.py rename to src/apps/users/migrations/0001_initial.py diff --git a/server/apps/users/migrations/0002_alter_user_id.py b/src/apps/users/migrations/0002_alter_user_id.py similarity index 100% rename from server/apps/users/migrations/0002_alter_user_id.py rename to src/apps/users/migrations/0002_alter_user_id.py diff --git a/server/apps/users/migrations/0003_alter_user_options_remove_user_login_and_more.py b/src/apps/users/migrations/0003_alter_user_options_remove_user_login_and_more.py similarity index 100% rename from server/apps/users/migrations/0003_alter_user_options_remove_user_login_and_more.py rename to src/apps/users/migrations/0003_alter_user_options_remove_user_login_and_more.py diff --git a/server/apps/users/migrations/0004_remove_user_name.py b/src/apps/users/migrations/0004_remove_user_name.py similarity index 100% rename from server/apps/users/migrations/0004_remove_user_name.py rename to src/apps/users/migrations/0004_remove_user_name.py diff --git a/server/apps/users/migrations/__init__.py b/src/apps/users/migrations/__init__.py similarity index 100% rename from server/apps/users/migrations/__init__.py rename to src/apps/users/migrations/__init__.py diff --git a/server/apps/users/models/__init__.py b/src/apps/users/models/__init__.py similarity index 100% rename from server/apps/users/models/__init__.py rename to src/apps/users/models/__init__.py diff --git a/server/apps/users/models/managers/__init__.py b/src/apps/users/models/managers/__init__.py similarity index 100% rename from server/apps/users/models/managers/__init__.py rename to src/apps/users/models/managers/__init__.py diff --git a/server/apps/users/models/managers/user.py b/src/apps/users/models/managers/user.py similarity index 100% rename from server/apps/users/models/managers/user.py rename to src/apps/users/models/managers/user.py diff --git a/server/apps/users/models/token.py b/src/apps/users/models/token.py similarity index 100% rename from server/apps/users/models/token.py rename to src/apps/users/models/token.py diff --git a/server/apps/users/models/user.py b/src/apps/users/models/user.py similarity index 100% rename from server/apps/users/models/user.py rename to src/apps/users/models/user.py diff --git a/server/apps/users/pages/__init__.py b/src/apps/users/pages/__init__.py similarity index 100% rename from server/apps/users/pages/__init__.py rename to src/apps/users/pages/__init__.py diff --git a/server/apps/users/pages/urls.py b/src/apps/users/pages/urls.py similarity index 100% rename from server/apps/users/pages/urls.py rename to src/apps/users/pages/urls.py diff --git a/server/apps/users/pages/views/__init__.py b/src/apps/users/pages/views/__init__.py similarity index 100% rename from server/apps/users/pages/views/__init__.py rename to src/apps/users/pages/views/__init__.py diff --git a/server/apps/users/pages/views/users/__init__.py b/src/apps/users/pages/views/users/__init__.py similarity index 100% rename from server/apps/users/pages/views/users/__init__.py rename to src/apps/users/pages/views/users/__init__.py diff --git a/server/apps/users/pages/views/users/login.py b/src/apps/users/pages/views/users/login.py similarity index 100% rename from server/apps/users/pages/views/users/login.py rename to src/apps/users/pages/views/users/login.py diff --git a/server/apps/users/pages/views/users/logout.py b/src/apps/users/pages/views/users/logout.py similarity index 100% rename from server/apps/users/pages/views/users/logout.py rename to src/apps/users/pages/views/users/logout.py diff --git a/server/apps/users/pages/views/users/register.py b/src/apps/users/pages/views/users/register.py similarity index 100% rename from server/apps/users/pages/views/users/register.py rename to src/apps/users/pages/views/users/register.py diff --git a/server/apps/users/services/__init__.py b/src/apps/users/services/__init__.py similarity index 100% rename from server/apps/users/services/__init__.py rename to src/apps/users/services/__init__.py diff --git a/server/apps/users/services/auth.py b/src/apps/users/services/auth.py similarity index 100% rename from server/apps/users/services/auth.py rename to src/apps/users/services/auth.py diff --git a/server/apps/users/services/modules.py b/src/apps/users/services/modules.py similarity index 100% rename from server/apps/users/services/modules.py rename to src/apps/users/services/modules.py diff --git a/server/apps/users/templates/users/login.html b/src/apps/users/templates/users/login.html similarity index 100% rename from server/apps/users/templates/users/login.html rename to src/apps/users/templates/users/login.html diff --git a/server/apps/users/templates/users/register.html b/src/apps/users/templates/users/register.html similarity index 100% rename from server/apps/users/templates/users/register.html rename to src/apps/users/templates/users/register.html diff --git a/server/asgi.py b/src/asgi.py similarity index 59% rename from server/asgi.py rename to src/asgi.py index 5056a92..63da4c0 100644 --- a/server/asgi.py +++ b/src/asgi.py @@ -2,6 +2,6 @@ from django.core.asgi import get_asgi_application -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "src.settings") application = get_asgi_application() diff --git a/server/celery_app.py b/src/celery_app.py similarity index 86% rename from server/celery_app.py rename to src/celery_app.py index 67d5c82..0b2f3b1 100644 --- a/server/celery_app.py +++ b/src/celery_app.py @@ -3,9 +3,9 @@ from celery import Celery from django.conf import settings -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "src.settings") -app = Celery("server") +app = Celery("app") app.config_from_object("django.conf:settings", namespace="CELERY") app.conf.update(worker_pool_restarts=True) diff --git a/locale/en/LC_MESSAGES/django.po b/src/locale/en/LC_MESSAGES/django.po similarity index 100% rename from locale/en/LC_MESSAGES/django.po rename to src/locale/en/LC_MESSAGES/django.po diff --git a/manage.py b/src/manage.py similarity index 86% rename from manage.py rename to src/manage.py index 25fc288..1b35ae5 100755 --- a/manage.py +++ b/src/manage.py @@ -3,6 +3,9 @@ import os import sys +from pathlib import PurePath + +BASE_DIR = PurePath(__file__).parent def _check_django_installed() -> None: @@ -17,7 +20,7 @@ def _check_django_installed() -> None: if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings") + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "src.settings") try: from django.core.management import ( # noqa: WPS433 execute_from_command_line, diff --git a/server/settings/__init__.py b/src/settings/__init__.py similarity index 100% rename from server/settings/__init__.py rename to src/settings/__init__.py diff --git a/server/settings/components/__init__.py b/src/settings/components/__init__.py similarity index 100% rename from server/settings/components/__init__.py rename to src/settings/components/__init__.py diff --git a/server/settings/components/api.py b/src/settings/components/api.py similarity index 100% rename from server/settings/components/api.py rename to src/settings/components/api.py diff --git a/server/settings/components/apps.py b/src/settings/components/apps.py similarity index 100% rename from server/settings/components/apps.py rename to src/settings/components/apps.py diff --git a/server/settings/components/auth.py b/src/settings/components/auth.py similarity index 100% rename from server/settings/components/auth.py rename to src/settings/components/auth.py diff --git a/server/settings/components/celery.py b/src/settings/components/celery.py similarity index 100% rename from server/settings/components/celery.py rename to src/settings/components/celery.py diff --git a/server/settings/components/common.py b/src/settings/components/common.py similarity index 54% rename from server/settings/components/common.py rename to src/settings/components/common.py index 94a4483..554eaa4 100644 --- a/server/settings/components/common.py +++ b/src/settings/components/common.py @@ -1,6 +1,6 @@ from decouple import config -ROOT_URLCONF = "server.urls" +ROOT_URLCONF = "src.urls" DEBUG = config("DJANGO_DEBUG", default=False, cast=bool) -WSGI_APPLICATION = "server.wsgi.application" +WSGI_APPLICATION = "src.wsgi.application" diff --git a/server/settings/components/email.py b/src/settings/components/email.py similarity index 100% rename from server/settings/components/email.py rename to src/settings/components/email.py diff --git a/server/settings/components/health.py b/src/settings/components/health.py similarity index 100% rename from server/settings/components/health.py rename to src/settings/components/health.py diff --git a/server/settings/components/i18n.py b/src/settings/components/i18n.py similarity index 70% rename from server/settings/components/i18n.py rename to src/settings/components/i18n.py index 95664c6..faeecdc 100644 --- a/server/settings/components/i18n.py +++ b/src/settings/components/i18n.py @@ -1,7 +1,5 @@ from django.utils.translation import gettext_lazy as _ -from server import BASE_DIR - USE_I18N = True USE_TZ = True @@ -13,6 +11,4 @@ ("en", _("MESSAGE__ENGLISH")), ] -LOCALE_PATHS = [ - BASE_DIR.joinpath("locale"), -] +LOCALE_PATHS = ["src/locale"] diff --git a/server/settings/components/logs.py b/src/settings/components/logs.py similarity index 100% rename from server/settings/components/logs.py rename to src/settings/components/logs.py diff --git a/server/settings/components/media.py b/src/settings/components/media.py similarity index 100% rename from server/settings/components/media.py rename to src/settings/components/media.py diff --git a/server/settings/components/middleware.py b/src/settings/components/middleware.py similarity index 100% rename from server/settings/components/middleware.py rename to src/settings/components/middleware.py diff --git a/server/settings/components/models.py b/src/settings/components/models.py similarity index 100% rename from server/settings/components/models.py rename to src/settings/components/models.py diff --git a/server/settings/components/security.py b/src/settings/components/security.py similarity index 100% rename from server/settings/components/security.py rename to src/settings/components/security.py diff --git a/server/settings/components/static.py b/src/settings/components/static.py similarity index 100% rename from server/settings/components/static.py rename to src/settings/components/static.py diff --git a/server/settings/components/templates.py b/src/settings/components/templates.py similarity index 90% rename from server/settings/components/templates.py rename to src/settings/components/templates.py index 7f28b34..ac0f9c7 100644 --- a/server/settings/components/templates.py +++ b/src/settings/components/templates.py @@ -1,11 +1,11 @@ from pathlib import Path -from server import BASE_DIR +from manage import BASE_DIR TEMPLATES = [ { "BACKEND": "django.template.backends.django.DjangoTemplates", - "DIRS": [Path(BASE_DIR.joinpath("server", "templates"))], + "DIRS": [Path(BASE_DIR.joinpath("src", "templates"))], "OPTIONS": { "context_processors": [ "django.template.context_processors.debug", diff --git a/src/settings/environments/__init__.py b/src/settings/environments/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/server/settings/environments/build.py b/src/settings/environments/build.py similarity index 100% rename from server/settings/environments/build.py rename to src/settings/environments/build.py diff --git a/server/settings/environments/development.py.example b/src/settings/environments/development.py.example similarity index 92% rename from server/settings/environments/development.py.example rename to src/settings/environments/development.py.example index c0c310a..2a32dac 100644 --- a/server/settings/environments/development.py.example +++ b/src/settings/environments/development.py.example @@ -1,4 +1,4 @@ -from server import BASE_DIR +from manage import BASE_DIR DEBUG = True ALLOWED_HOSTS = ["*"] diff --git a/server/settings/environments/production.py b/src/settings/environments/production.py similarity index 100% rename from server/settings/environments/production.py rename to src/settings/environments/production.py diff --git a/server/settings/environments/test.py b/src/settings/environments/test.py similarity index 100% rename from server/settings/environments/test.py rename to src/settings/environments/test.py diff --git a/server/urls.py b/src/urls.py similarity index 100% rename from server/urls.py rename to src/urls.py diff --git a/server/wsgi.py b/src/wsgi.py similarity index 59% rename from server/wsgi.py rename to src/wsgi.py index 619318f..718f001 100644 --- a/server/wsgi.py +++ b/src/wsgi.py @@ -2,6 +2,6 @@ from django.core.wsgi import get_wsgi_application -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "src.settings") application = get_wsgi_application()