messenger/ │ ├── main.py # Точка входа в приложение ├── requirements.txt # Зависимости проекта ├── README.md │ ├── app/ # Основное приложение │ ├── __init__.py │ ├── core/ # Ядро: логика, модели, сервисы │ │ ├── __init__.py │ │ ├── models/ # Модели данных │ │ │ ├── __init__.py │ │ │ └── message.py │ │ ├── services/ # Сервисы (API, БД, криптография) │ │ │ ├── __init__.py │ │ │ ├── api_client.py │ │ │ ├── database.py │ │ │ └── crypto.py │ │ └── config.py # Настройки (можно .env тоже) │ │ │ ├── ui/ # Интерфейс пользователя │ │ ├── __init__.py │ │ ├── main_window.py # Главное окно │ │ ├── widgets/ # Кастомные виджеты │ │ │ ├── __init__.py │ │ │ └── chat_bubble.py │ │ ├── views/ # Разметка экранов │ │ │ ├── __init__.py │ │ │ ├── login_view.py │ │ │ └── chat_view.py │ │ └── resources/ # Иконки, стили, UI-файлы │ │ ├── style.qss │ │ ├── icons/ │ │ └── ui/ # UI-файлы от Qt Designer │ │ └── login.ui │ │ │ └── controllers/ # Контроллеры (логика взаимодействия UI и модели) │ ├── __init__.py │ ├── login_controller.py │ └── chat_controller.py │ └── tests/ # Тесты (юнит и интеграционные) ├── __init__.py ├── test_models.py ├── test_api_client.py └── test_chat_controller.py