2026-09-08 17:38:13 +03:00
|
|
|
|
# Структура проекта
|
|
|
|
|
|
|
|
|
|
|
|
.
|
|
|
|
|
|
├── app.css
|
|
|
|
|
|
├── App.svelte
|
|
|
|
|
|
├── assets
|
|
|
|
|
|
│ ├── hero.png
|
|
|
|
|
|
│ ├── svelte.svg
|
|
|
|
|
|
│ └── vite.svg
|
|
|
|
|
|
├── lib
|
|
|
|
|
|
│ ├── common
|
|
|
|
|
|
│ │ ├── PaymentPage.svelte
|
|
|
|
|
|
│ │ ├── services
|
|
|
|
|
|
│ │ ├── stores
|
|
|
|
|
|
│ │ ├── ui
|
|
|
|
|
|
│ │ └── utils
|
|
|
|
|
|
│ └── pages
|
|
|
|
|
|
│ ├── extra
|
|
|
|
|
|
│ ├── main
|
|
|
|
|
|
│ │ └── MainMenu.svelte
|
|
|
|
|
|
│ ├── photo-doc
|
|
|
|
|
|
│ ├── print
|
|
|
|
|
|
│ │ ├── preview
|
|
|
|
|
|
│ │ └── PrintMenu.svelte
|
|
|
|
|
|
│ └── scan
|
|
|
|
|
|
└── main.js
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 📂 Корень проекта
|
|
|
|
|
|
* **`App.svelte`**: Главный роутер. Управляет переключением между экранами (Главное меню → Печать/Фото/Скан).
|
|
|
|
|
|
* **`main.js`**: Точка входа, монтирует приложение в DOM.
|
|
|
|
|
|
* **`app.css`**: Глобальные стили и сброс CSS.
|
|
|
|
|
|
* **`assets/`**: Статические файлы (иконки, фоновые изображения, логотипы).
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 📂 `lib/modules/` (Бизнес-модули)
|
|
|
|
|
|
Каждая папка — это независимая услуга киоска. Содержит свои UI-компоненты и локальные сторы состояния.
|
|
|
|
|
|
* **`main/`**: Главное меню с 4 кнопками навигации.
|
|
|
|
|
|
* **`print/`**: Логика печати (загрузка PDF/фото, выбор страниц, настройки формата/цвета).
|
|
|
|
|
|
* **`photo-doc/`**: Фото на документы (работа с камерой, кроп, выбор размера).
|
|
|
|
|
|
* **`scan/`**: Сканирование документов (скан через камеру или загрузка файла).
|
|
|
|
|
|
* **`extra/`**: Дополнительные услуги (копирование, отправка на email и т.д.).
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 📂 `lib/common/` (Общая инфраструктура)
|
|
|
|
|
|
Ресурсы, которые переиспользуются несколькими модулями.
|
|
|
|
|
|
|
|
|
|
|
|
#### **UI-слой**
|
|
|
|
|
|
* **`ui/`**: Переиспользуемые визуальные компоненты (кнопки, инпуты, карточки, лоадеры).
|
|
|
|
|
|
* **`PaymentPage.svelte`**: Единый экран оплаты P2P-переводом. Используется всеми модулями после формирования заказа.
|
|
|
|
|
|
|
|
|
|
|
|
#### **Логика и данные**
|
|
|
|
|
|
* **`stores/`**: Глобальные хранилища состояния (навигация, настройки приложения, очередь уведомлений).
|
|
|
|
|
|
* **`services/`**: Интеграции с внешним миром (API принтера, работа с PDF.js, доступ к камере, отправка запросов на сервер).
|
|
|
|
|
|
* **`utils/`**: Чистые вспомогательные функции (расчет стоимости, форматирование текста, детекция типов файлов, плюрализация).
|