Skip to content

aLeeTheY/PolimerBeton

Repository files navigation

Contributors Forks Stargazers Issues MIT License

GitHub Last Commit GitHub Repo Size


PolimerBeton

πŸ“¬ ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹ΠΉ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹ΠΉ сайт с Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи ΠΈ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

Π”Π΅ΠΌΠΎ Β· Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎΠ± ошибкС

Русский English


Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅
  1. О ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅
  2. Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹
  3. ИспользованиС
  4. БлоТности ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅
  5. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ
  6. ДороТная ΠΊΠ°Ρ€Ρ‚Π°
  7. ЛицСнзия
  8. ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹
  9. Благодарности

О ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

Основная Ρ†Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” созданиС быстрого Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π½Π΄ΠΈΠ½Π³Π° с Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи. Π‘Π°ΠΉΡ‚ позволяСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ заявки, Π° Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ β€” ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ увСдомлСния ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Π·Π°ΠΊΠ°Π·Π°Ρ….

ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€

НиТС прСдставлСн ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр сайта (Desktop + Mobile, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ Π΄Π΅ΠΌΠΎ):

ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ сайта

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности

Π”ΠΈΠ·Π°ΠΉΠ½ ΠΈ интСрфСйс

  • Π­ΠΊΡΠΊΠ»ΡŽΠ·ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ: ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ авторский Π΄ΠΈΠ·Π°ΠΉΠ½ страниц сдСланный Π² Figma.
  • ΠΠ΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ построСн Π½Π° Π±Π°Π·Π΅ Bootstrap ΠΈ Bootstrap Icons с ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств.
  • Dark Mode: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅ΠΌΠ½ΠΎΠΉ Ρ‚Π΅ΠΌΡ‹ (автоматичСскоС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ + Ρ€ΡƒΡ‡Π½ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ).
  • UX/UI: ΠŸΠ»Π°Π²Π½Ρ‹Π΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ восприятия.

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅

  • Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅: Π—Π°Ρ‰ΠΈΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠΎΠ»Π΅ΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (field-level encryption).
  • Π—Π°Ρ‰ΠΈΡ‚Π° окруТСния: Π‘Ρ‚Ρ€ΠΎΠ³ΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ»Ρ‹ .env.

Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈ инфраструктура

  • ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ: Полная изоляция Ρ‡Π΅Ρ€Π΅Π· Docker, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 15 ΠΌΠΈΠ½ΡƒΡ‚.
  • CI/CD Workflow: Автоматизация обновлСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· GitHub Actions ΠΈ SSH.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ

  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ статики: ИспользованиС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° .webp ΠΈ адаптивная ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² зависимости ΠΎΡ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ экрана.
  • Backend: Бвязка Django + Nginx для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΈ быстрой Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСрвСра.
  • БизнСс-Π»ΠΎΠ³ΠΈΠΊΠ°: АвтоматичСская ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΎ Π·Π°ΠΊΠ°Π·Π°Ρ… Ρ‡Π΅Ρ€Π΅Π· SMTP (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ β€” Mailjet).

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ создан с использованиСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… инструмСнтов ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ:

  • FRONTEND:

    • HTML

    • Sass

    • TypeScript

    • Bootstrap

    • BUILD TOOLS:

      • Node.js
      • Npm
  • BACKEND:

    • Python

    • Django

    • BUILD TOOLS:

      • Poetry
  • DATABASE:

    • Postgres
  • VERSION CONTROL SYSTEM:

    • Git
  • DEPLOYMENT:

    • Docker
  • WEB SERVER:

    • Nginx
  • CI/CD:

    • GitHub Actions

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

PolimerBeton/
β”‚
β”œβ”€β”€ .github/
β”‚   └── workflows/
β”‚       └── update_website_by_ssh.prod.yml      # GitHub CI/CD сцСнарий: ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ сайта Π½Π° хостингС ΠΏΡ€ΠΈ ΠΏΡƒΡˆΠ΅ Π² Π²Π΅Ρ‚ΠΊΡƒ `main`
β”‚
β”œβ”€β”€ env/                                        # ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ² .env для Ρ€Π°Π·Π½Ρ‹Ρ… сцСнариСв (dev, prod, staging)
β”‚   β”œβ”€β”€ .env.dev.template
β”‚   β”œβ”€β”€ .env.prod.db.template
β”‚   β”œβ”€β”€ .env.prod.proxy-companion.template
β”‚   β”œβ”€β”€ .env.prod.template
β”‚   β”œβ”€β”€ .env.staging.db.template
β”‚   β”œβ”€β”€ .env.staging.proxy-companion.template
β”‚   └── .env.staging.template
β”‚
β”œβ”€β”€ project/                                    # ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹
β”‚   β”œβ”€β”€ database/                               # схСма Π‘Π”
β”‚   β”œβ”€β”€ design/                                 # ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ Π΄ΠΈΠ·Π°ΠΉΠ½Π°
β”‚   └── preview/                                # ΠΏΡ€Π΅Π²ΡŒΡŽ Ρ„Π°ΠΉΠ»Ρ‹ рСпозитория
β”‚
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ apps/
β”‚   β”‚   └── MainApp/                            # основноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€ migrations/                     # ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π‘Π”
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€ static/                         # исходники статичСских Ρ„Π°ΠΉΠ»ΠΎΠ² (Π±ΡƒΠ΄ΡƒΡ‚ скомпилированы / собраны)
β”‚   β”‚       β”‚   β”œβ”€β”€ favicons/
β”‚   β”‚       β”‚   β”œβ”€β”€ images/
β”‚   β”‚       β”‚   β”œβ”€β”€ scss/
β”‚   β”‚       β”‚   └── ts/
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€ templates/                      # ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ страниц
β”‚   β”‚       β”‚   β”‚
β”‚   β”‚       β”‚   β”œβ”€β”€ email/
β”‚   β”‚       β”‚   β”‚   └── message_template.html   # шаблон элСктронного письма
β”‚   β”‚       β”‚   β”‚
β”‚   β”‚       β”‚   β”œβ”€β”€ MainApp/
β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ error.html
β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ index.html
β”‚   β”‚       β”‚   β”‚   β”œβ”€β”€ privacy.html
β”‚   β”‚       β”‚   β”‚   └── success.html
β”‚   β”‚       β”‚   β”‚
β”‚   β”‚       β”‚   └── service/                    # Ρ„Π°ΠΉΠ»Ρ‹ для поисковых систСм ΠΈ Π±ΠΎΡ‚ΠΎΠ²
β”‚   β”‚       β”‚       └── robots.txt
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€ templatetags/                   # ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ template‑тСги
β”‚   β”‚       β”‚
β”‚   β”‚       β”œβ”€β”€ __init__.py
β”‚   β”‚       β”œβ”€β”€ admin.py                        # кастомизация ΠΏΠ°Π½Π΅Π»ΠΈ администратора
β”‚   β”‚       β”œβ”€β”€ apps.py
β”‚   β”‚       β”œβ”€β”€ context_processors.py           # Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ контСкст‑процСссоры для шаблонов
β”‚   β”‚       β”œβ”€β”€ fields.py                       # ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ поля для ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌ
β”‚   β”‚       β”œβ”€β”€ forms.py                        # классы Ρ„ΠΎΡ€ΠΌ
β”‚   β”‚       β”œβ”€β”€ models.py                       # ΠΌΠΎΠ΄Π΅Π»ΠΈ Π‘Π”
β”‚   β”‚       β”œβ”€β”€ runners.py                      # Ρ€Π°Π·ΠΎΠ²Ρ‹Π΅ скрипты
β”‚   β”‚       β”œβ”€β”€ sitemaps.py                     # конфигурация sitemap
β”‚   β”‚       β”œβ”€β”€ tasks.py                        # Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ
β”‚   β”‚       β”œβ”€β”€ tests.py                        # ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ тСсты
β”‚   β”‚       β”œβ”€β”€ urls.py                         # ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ URL для прилоТСния
β”‚   β”‚       β”œβ”€β”€ utils.py                        # Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
β”‚   β”‚       └── views.py                        # ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ запросов (прСдставлСния)
β”‚   β”‚
β”‚   β”œβ”€β”€ config/                                 # Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Django
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ settings/
β”‚   β”‚   β”‚   β”œβ”€β”€ __init__.py
β”‚   β”‚   β”‚   β”œβ”€β”€ base.py                         # ΠΎΠ±Ρ‰ΠΈΠ΅ настройки Django
β”‚   β”‚   β”‚   β”œβ”€β”€ dev.py                          # настройки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ / ΠΏΡ€Π΅-ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π°
β”‚   β”‚   β”‚   └── prod.py                         # настройки для ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π°
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ __init__.py
β”‚   β”‚   β”œβ”€β”€ asgi.py
β”‚   β”‚   β”œβ”€β”€ urls.py
β”‚   β”‚   └── wsgi.py
β”‚   β”‚
β”‚   β”œβ”€β”€ locales/                                # Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ
β”‚   β”œβ”€β”€ scripts/                                # Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π° ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ скрипты
β”‚   β”‚
β”‚   β”œβ”€β”€ .dockerignore
β”‚   β”œβ”€β”€ Dockerfile                              # сборка Docker-ΠΎΠ±Ρ€Π°Π·Π° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
β”‚   β”œβ”€β”€ Dockerfile.prod                         # сборка Docker-ΠΎΠ±Ρ€Π°Π·Π° для ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π°
β”‚   β”œβ”€β”€ manage.py                               # Ρ‚ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π° для ΠΊΠΎΠΌΠ°Π½Π΄ Django
β”‚   β”œβ”€β”€ package-lock.json                       # фиксация вСрсий зависимостСй Node.js
β”‚   β”œβ”€β”€ package.json                            # зависимости ΠΈ скрипты для Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π°
β”‚   β”œβ”€β”€ poetry.lock                             # фиксация вСрсий зависимостСй Python
β”‚   β”œβ”€β”€ pyproject.toml                          # описаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ зависимости Python
β”‚   └── tsconfig.json                           # настройки TypeScript
β”‚
β”œβ”€β”€ web/                                        # ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ вСб‑сСрвСра
β”‚   β”‚
β”‚   β”œβ”€β”€ apache/                                 # ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ Apache (Ссли Π½ΡƒΠΆΠ½Ρ‹ для совмСстимости)
β”‚   β”‚   └── .htaccess
β”‚   β”‚
β”‚   β”œβ”€β”€ nginx/                                  # основная конфигурация nginx
β”‚   β”‚   β”œβ”€β”€ Dockerfile
β”‚   β”‚   └── nginx.conf
β”‚   β”‚
β”‚   β”œβ”€β”€ nginx-proxy/                            # nginx‑proxy (автоматичСский SSL / reverse proxy)
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ vhost.d/
β”‚   β”‚   β”‚   └── default
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ .dockerignore
β”‚   β”‚   β”œβ”€β”€ custom.conf
β”‚   β”‚   β”œβ”€β”€ Dockerfile
β”‚   β”‚   └── Dockerfile.prod
β”‚   β”‚
β”‚   └── templates/                              # ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для docker‑gen (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ nginx‑proxy)
β”‚       └── docker-gen/
β”‚
β”œβ”€β”€ .gitignore
β”œβ”€β”€ docker-compose.prod.selinux.yml
β”œβ”€β”€ docker-compose.prod.yml                     # Π΄Π΅ΠΏΠ»ΠΎΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π°
β”œβ”€β”€ docker-compose.staging.yml                  # Π΄Π΅ΠΏΠ»ΠΎΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€Π΅-ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π°
β”œβ”€β”€ docker-compose.yml                          # Π΄Π΅ΠΏΠ»ΠΎΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.ENG.md
└── README.md

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ Π½Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ отобраТСния ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ скриптов Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… вСрсиях ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ²:

  • Google Chrome
  • Microsoft Edge
  • Yandex
  • Firefox
  • Opera

Important

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π° для вСрсии 2.0.4. На ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ отобраТался Π² послСдних ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… вСрсиях всСх ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ².

Π”Π°Ρ‚Π° послСднСй ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ: 1 ΠΌΠ°Ρ€Ρ‚Π° 2026

(Π½Π°Π²Π΅Ρ€Ρ…)

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΌ Π½ΠΈΠΆΠ΅ инструкциям для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ развёртывания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ трСбования

УстановитС Docker ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ Docker Compose. Π—Π°Ρ‚Π΅ΠΌ скачайтС Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ZIP-Π°Ρ€Ρ…ΠΈΠ²Π° ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git:

git clone https://github.com/aLeeTheY/PolimerBeton

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π”Π°Π»Π΅Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ env/ ΠΈ создайтС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° основС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… шаблонов .template. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ окруТСния: development, staging ΠΈ production.

НапримСр, для окруТСния production Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

cp .env.prod.template .env.prod
cp .env.prod.db.template .env.prod.db
cp .env.prod.proxy-companion.template .env.prod.proxy-companion

ПослС этого Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· созданных Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ значСния всСх ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, содСрТащих плСйсхолдСры Π²ΠΈΠ΄Π° <...>, Π½Π° собствСнныС.

НапримСр, для Ρ„Π°ΠΉΠ»Π° .env.prod.db:

Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ заполнСния ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
POSTGRES_USER=<YOUR_DATABASE_USER> POSTGRES_USER=db_username_for_dummy_guys ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ
POSTGRES_PASSWORD=<YOUR_DATABASE_PASSWORD> POSTGRES_PASSWORD=db_password_for_dummy_guys ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ
POSTGRES_DB=polimerbeton_db_prod POSTGRES_DB=polimerbeton_db_prod ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ

Π‘Π±ΠΎΡ€ΠΊΠ° ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ прилоТСния

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (docker-compose.*.yml) ΠΈ запуститС сборку с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ запуском ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²:

docker compose -f docker-compose.prod.yml up -d --build

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² создайтС ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для административной ΠΏΠ°Π½Π΅Π»ΠΈ Django:

docker exec -it polimerbeton-web python manage.py createsuperuser

Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ инструкциям Π² консоли. ПослС выполнСния этих шагов ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ считаСтся ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹ΠΌ.

УстранСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)

ΠŸΡ€ΠΈ нСдостаткС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈΠ»ΠΈ дискового пространства сборка ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ с ошибкой. Π’ этом случаС рСкомСндуСтся ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ доступныС рСсурсы. Если это Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сборку поэтапно.

Caution

ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½ΠΈΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π° ваш страх ΠΈ риск!
Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² своих дСйствиях, рСкомСндуСтся ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ систСмному администратору.

ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚Π΅ старыС ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΈ кэш сборщика:

docker image prune
docker builder prune

Π‘ΠΎΠ±Π΅Ρ€ΠΈΡ‚Π΅ основной ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ web:

docker compose -f docker-compose.prod.yml build web

Π‘Π½ΠΎΠ²Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ очистку:

docker image prune
docker builder prune

Π‘ΠΎΠ±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ запуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:

docker compose -f docker-compose.prod.yml up -d

(Π½Π°Π²Π΅Ρ€Ρ…)

ИспользованиС

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ этапа Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ доступСн ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ (ΠΈΠ»ΠΈ Π½Π° localhost, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конфигурация для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ).

ПанСль администратора

Для доступа ΠΊ административному интСрфСйсу ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° страницу admin/:

https://your-domain/admin/

Для Π²Ρ…ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ superuser. Если ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΅Ρ‰Ρ‘ Π½Π΅ создан, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅.

(Π½Π°Π²Π΅Ρ€Ρ…)

БлоТности ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅

  • ΠžΡ€ΠΊΠ΅ΡΡ‚Ρ€Π°Ρ†ΠΈΡ микросСрвисов: ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ отказоустойчивого взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Django, PostgreSQL, Nginx ΠΈ Let's Encrypt Π² Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ сСти Docker.
  • Автоматизация дСплоя Django: CI/CD скрипт Π² GitHub Actions обновляСт Π²Π΅Ρ‚ΠΊΡƒ main ΠΈ пСрСсобираСт ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Django Π±Π΅Π· Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ сСрвисы (автоматичСскоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ нСобходимости).
  • SEO ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ: ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π°ΡƒΠ΄ΠΈΡ‚Π° ΠΈ оптимизация HTML-структуры для достиТСния 100/100 Π±Π°Π»Π»ΠΎΠ² ΠΏΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌ Accessibility ΠΈ SEO Π² Google Lighthouse.
  • Гибкая доставка ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ: Основной ΠΊΠ°Π½Π°Π» β€” SMTP; ΠΏΡ€ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ SMTP-ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· Mailjet API ΠΏΠΎ HTTPS.

(Π½Π°Π²Π΅Ρ€Ρ…)

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ

  • UI/UX Π΄ΠΈΠ·Π°ΠΉΠ½: ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов Π² Figma, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π΄ΠΈΠ·Π°ΠΉΠ½-ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΊ вСрсткС, созданиС Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… графичСских ассСтов.
  • Fullstack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°: ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π² PostgreSQL, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сСрвСрной Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π° Django, созданиС строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° с использованиСм Sass, Bootstrap ΠΈ TypeScript.
  • DevOps ΠΈ инфраструктура: ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Docker, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ конфигурациями срСд (development/staging/production), настройка сСтСвого взаимодСйствия ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².
  • БистСмноС администрированиС: Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Linux-сСрвСрах, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Nginx ΠΈΠ»ΠΈ Apache Π² качСствС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ прокси, Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ SSL-сСртификатов Ρ‡Π΅Ρ€Π΅Π· Let's Encrypt для обСспСчСния бСзопасности.
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: ΠœΠΈΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ HTML, CSS ΠΈ JS с использованиСм django-htmlmin ΠΈ django-compressor, Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ соврСмСнных графичСских Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² для ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ отрисовки страниц (LCP/FCP).
  • CI/CD: Настройка Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ дСплоя Ρ‡Π΅Ρ€Π΅Π· GitHub Actions, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ сСрвСрами ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ SSH.
  • ДокумСнтация ΠΈ GitHub: ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ README.md Ρ„Π°ΠΉΠ»ΠΎΠ² с использованиСм Markdown, Π²Π΅Π΄Π΅Π½ΠΈΠ΅ вСрсионного контроля Ρ‡Π΅Ρ€Π΅Π· Git.
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ зависимостями ΠΈ сборка: ИспользованиС Npm ΠΈ Poetry для установки, обновлСния ΠΈ фиксации вСрсий Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Ρ‡Π΅Ρ€Π΅Π· lock-Ρ„Π°ΠΉΠ»Ρ‹, обСспСчивая Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

(Π½Π°Π²Π΅Ρ€Ρ…)

ДороТная ΠΊΠ°Ρ€Ρ‚Π°

  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйсов Π² Figma:
    • Главная страница (index.html)
    • ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (privacy.html)
    • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ (success.html)
    • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° ошибки (error.html)
  • Адаптивная вСрстка с использованиСм Bootstrap ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ‚Ρ‘ΠΌΠ½ΠΎΠΉ Ρ‚Π΅ΠΌΡ‹
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ вСрстки Π² ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Django
  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π‘Π” Π² PostgreSQL (ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΈ Π·Π°ΠΊΠ°Π·Ρ‹)
  • Настройка Π»ΠΎΠ³ΠΈΠΊΠΈ взаимодСйствия django-admin с модСлями Π΄Π°Π½Π½Ρ‹Ρ…
  • РСализация подсистСмы ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„ΠΎΡ€ΠΌ ΠΈ рСгистрации ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²
  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сСрвиса ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ SMTP
  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сСрвиса ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Mailjet API
  • Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
  • РСализация ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° управлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ согласиСм (Cookie Consent)
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ сторонних ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ (Google Analytics + Yandex Metrica) с соблюдСниСм ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ Cookie
  • ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ с использованиСм Docker:
    • ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ срСд окруТСния (.env.dev, .env.staging, .env.prod)
    • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² (Dockerfile ΠΈ Dockerfile.prod)
    • ΠžΡ€ΠΊΠ΅ΡΡ‚Ρ€Π°Ρ†ΠΈΡ микросСрвисов (Django, PostgreSQL, Let's Encrypt, Nginx) Ρ‡Π΅Ρ€Π΅Π· docker-compose
  • Автоматизация CI/CD Ρ‡Π΅Ρ€Π΅Π· GitHub Actions:
    • АвтоматичСская сборка ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π²Π΅Ρ‚ΠΊΠΈ main
  • Π˜Π½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ (i18n):
    • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° английского языка (English)

ΠŸΠΎΠ»Π½Ρ‹ΠΉ список ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ извСстных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ доступСн Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Issues.

(Π½Π°Π²Π΅Ρ€Ρ…)

ЛицСнзия

Copyright Β© 2025 aLeeTheY
ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ распространяСтся ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ MIT. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» LICENSE для получСния ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

(Π½Π°Π²Π΅Ρ€Ρ…)

ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹

GitHub: aLeeTheY
Email: aleethey@gmail.com

(Π½Π°Π²Π΅Ρ€Ρ…)

Благодарности

aLeeTheY Π²Ρ‹Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ сообщСствам ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²:

Π‘Π΅Π· этих инструмСнтов, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»Π° Π±Ρ‹ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°.

(Π½Π°Π²Π΅Ρ€Ρ…)