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

3.1 KiB
Raw Blame History

Структура проекта

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