c84e55488cdd5ab78aa06f3f58cd0b8b8d15371a
Структура проекта
. ├── 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/: Чистые вспомогательные функции (расчет стоимости, форматирование текста, детекция типов файлов, плюрализация).
Description
Languages
Svelte
72%
JavaScript
19.2%
CSS
8.2%
HTML
0.6%