Delete page "Architecture"
@@ -1,67 +0,0 @@
|
|||||||
# Архитектура проекта
|
|
||||||
|
|
||||||
## Структура директорий
|
|
||||||
|
|
||||||
```
|
|
||||||
VA.ASPEKTER/
|
|
||||||
├── z51-pug-builder/ # Основное приложение
|
|
||||||
│ ├── vite.config.js # Backend API (~1400 строк, Vite middleware)
|
|
||||||
│ ├── src/
|
|
||||||
│ │ ├── App.svelte # Монолитный UI (~6500+ строк)
|
|
||||||
│ │ ├── app.css # Стили
|
|
||||||
│ │ ├── main.js # Entry point
|
|
||||||
│ │ └── lib/
|
|
||||||
│ │ ├── api.js # API клиент
|
|
||||||
│ │ ├── parsing.js # Парсинг Pug-шаблонов
|
|
||||||
│ │ └── spellcheck.js # Проверка орфографии
|
|
||||||
│ ├── public/ # Статика (favicon, Block.pug)
|
|
||||||
│ ├── data/ # Данные проекта (не в git)
|
|
||||||
│ ├── Dockerfile
|
|
||||||
│ └── package.json
|
|
||||||
├── email-gen/ # Pug-шаблоны писем (репо коллег)
|
|
||||||
│ └── emails/
|
|
||||||
│ ├── includes/mixins.pug # Общие миксины
|
|
||||||
│ └── vipavenue/ # Шаблоны VipAvenue
|
|
||||||
│ ├── parts/ # Header/Footer
|
|
||||||
│ └── letters/ # Сгенерированные письма
|
|
||||||
├── deploy/
|
|
||||||
│ ├── email-gen-api/ # Сервис рендера Pug → HTML
|
|
||||||
│ │ ├── server.js
|
|
||||||
│ │ └── Dockerfile
|
|
||||||
│ ├── nginx/ # Конфиг nginx
|
|
||||||
│ └── scripts/ # Скрипты деплоя
|
|
||||||
├── docker-compose.yml # Dev окружение
|
|
||||||
└── docker-compose.prod.yml # Prod окружение
|
|
||||||
```
|
|
||||||
|
|
||||||
## Цепочка рендера
|
|
||||||
|
|
||||||
```
|
|
||||||
App.svelte (блоки → PUG-код)
|
|
||||||
↓ POST /api/project/vipavenue/render-email
|
|
||||||
vite.config.js (записывает let.pug, html.pug)
|
|
||||||
↓ HTTP POST к email-gen-api
|
|
||||||
email-gen-api:8787 (Pug → HTML, inlines CSS)
|
|
||||||
↓
|
|
||||||
vite.config.js (кэш, Mindbox-теги, nowrap, фид)
|
|
||||||
↓
|
|
||||||
App.svelte (iframe srcdoc → превью)
|
|
||||||
```
|
|
||||||
|
|
||||||
## Аутентификация
|
|
||||||
|
|
||||||
- scrypt хеширование паролей
|
|
||||||
- Cookie `va_token`, HttpOnly, SameSite=Strict, Secure
|
|
||||||
- Сессии в памяти + файл `_system/sessions.json`
|
|
||||||
- TTL 7 дней
|
|
||||||
- Роли: `admin` (полный доступ к настройкам) / `user`
|
|
||||||
|
|
||||||
## Хранение данных
|
|
||||||
|
|
||||||
Файловая БД в `data/vipavenue/`:
|
|
||||||
- `settings.json` — настройки проекта (FTP, feedUrl, genderPaths)
|
|
||||||
- `letters.json` — индекс писем
|
|
||||||
- `letters/*.json` — данные каждого письма (блоки, тема, дата)
|
|
||||||
- `drafts/*.json` — черновики по юзерам
|
|
||||||
- `presets.json` — пресеты блоков
|
|
||||||
- `block.pug` — кастомный шаблон блока
|
|
||||||
Reference in New Issue
Block a user