52 lines
3.9 KiB
Markdown
52 lines
3.9 KiB
Markdown
# Архитектурный обзор проекта ETPGRF Site
|
|
|
|
## 1. Назначение проекта
|
|
**ETPGRF Site** — веб-сервис и интерфейс для онлайн-типографирования текстов на базе библиотеки `etpgrf`, а также контентная платформа (блог, справочные и статические страницы, статистика использования).
|
|
|
|
## 2. Технологический стек
|
|
- **Backend:** Python 3.13+, Django 6.0+, Poetry.
|
|
- **База данных:** SQLite 3 (файл `data/db-etpgrf.sqlite3` с увеличенным таймаутом блокировки).
|
|
- **Frontend:**
|
|
- Bootstrap 5 (CSS, сетка, компоненты, иконки bootstrap-icons).
|
|
- Alpine.js (декларативное состояние на клиенте).
|
|
- HTMX (динамическая подгрузка фрагментов, отправка форм типографирования, статистика).
|
|
- CodeMirror 6 (продвинутый редактор текста с подсветкой спецсимволов/сущностей).
|
|
- Сборщик фронтенда: `esbuild` в каталоге `frontend-assembly/`.
|
|
- **Инфраструктура & Деплой:**
|
|
- Docker & Docker Compose (`docker-compose.yml` для разработки, `docker-compose.prod.yml` для продакшена).
|
|
- Nginx (раздача статики `/static/` и медиа `/media/`, SSL-терминация, обратное проксирование к Gunicorn).
|
|
- Gunicorn (WSGI-сервер Django).
|
|
- CI/CD: Gitea Actions (автосборка Docker-образов по тегам `v*` и деплой).
|
|
|
|
## 3. Структура директорий
|
|
```
|
|
2026-etpgrf-site/
|
|
├── .github/ # Инструкции для AI и CI
|
|
│ └── copilot-instructions.md
|
|
├── _prj_blueprint/ # Быстрый контекст и документация архитектуры
|
|
├── config/ # Конфигурационные файлы Nginx
|
|
│ └── nginx/
|
|
├── data/ # Хранилище базы данных SQLite (db-etpgrf.sqlite3)
|
|
├── etpgrf_site/ # Исходный код Django
|
|
│ ├── manage.py
|
|
│ ├── etpgrf_site/ # Корневой модуль конфигурации (settings, urls, wsgi)
|
|
│ ├── typograph/ # Приложение типографа (обработка, DailyStat, UI)
|
|
│ └── blog/ # Приложение блога и статических страниц
|
|
├── frontend-assembly/ # Node.js окружение сборки CodeMirror 6 (esbuild)
|
|
├── media/ # Загружаемые медиа-файлы (обложки постов)
|
|
├── public/ # Статика проекта
|
|
│ ├── static/ # Исходная статика (css, js, img, svg, codemirror)
|
|
│ └── static_collected/ # Собранная статика collectstatic
|
|
├── Dockerfile # Сборка продакшн-образа
|
|
├── docker-compose.yml # Dev-окружение
|
|
├── docker-compose.prod.yml # Prod-окружение
|
|
├── pyproject.toml # Poetry зависимости и метаданные
|
|
├── NOTE.md # Инструкции по релизам и версионированию
|
|
└── CHANGELOG.md # История версий
|
|
```
|
|
|
|
## 4. Ссылки на детальные описания
|
|
- [Бэкенд и логика приложений](backend.md)
|
|
- [Фронтенд и сборка](frontend.md)
|
|
- [Деплой, окружение и релизный процесс](deployment.md)
|