Files
web-app/README.md
2026-09-08 17:38:13 +03:00

59 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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