Структура программы . py
Я подумал, вдруг кому-то это покажется интересным -> как бы я спроектировал структуру программы. Может сойдёт за шаблон.
Почему-то структура портится при сохранении 🤔, не придумал как её отобразить нормально, но может быть нейронка выровнить поможет если скопировать. Пока так:
my_windows_app/ ____app/ ________core/ ______________init__.py ____________core.py ________services/ ____________data_service.py ____________user_service.py ________models/ ____________base_model.py ____________entity_models.py ________repositories/ ____________file_repo.py ____________db_repo.py ________ui/ ______________init__.py ________gui/ ____________main_window.py ____________widgets/ ________________custom_button.py ________________status_bar.py ____________styles.py ________cli/ ____________commands.py ____________parser.py ____configs/ ________app.yaml ________logging.conf ________themes/ ____________dark_theme.json ____data/ ________inp/ ____________templates/ ____________examples/ ________out/ ____________results/ ____________logs/ ________________app.log ____________reports/ ____docs/ ________user_manual.pdf ________developer_guide.md ________api_reference.md ____tests/ ________unit/
Пояснения к структуре: - \app/core/\ — изолированная бизнес‑логика: сервисы, модели, репозитории. Не зависит от GUI/CLI. - \ui/gui/\ — графический интерфейс: главное окно, виджеты, стили. - \ui/cli/\ — командная строка: парсер аргументов и реализация команд. - \utils/\ — вспомогательные функции: валидаторы, операции с файлами, хелперы. - \run.pyw\ — точка входа для GUI‑версии (запуск без консоли, для пользователей). - [main.py](http://main.py)\ — точка входа для разработки (с консолью, для отладки). - [cli.py](http://cli.py)\ — точка входа для CLI‑интерфейса. - \configs/\ — настройки приложения, логирования и тем оформления. - \data/\ — входные/выходные данные, логи, отчёты. - \docs/\ — документация для пользователей и разработчиков. - \tests/\ — юнит‑тесты, интеграционные тесты, тесты GUI. - \tools/\ — утилиты для обслуживания проекта. - \requirements.txt, [README.md](http://README.md), [setup.py](http://setup.py)\ — стандартные файлы проекта.