Files
web-app/README.md

59 lines
3.1 KiB
Markdown
Raw Normal View History

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/`**: Чистые вспомогательные функции (расчет стоимости, форматирование текста, детекция типов файлов, плюрализация).