Files
homebox_lens/tech_spec/project_structure.txt
busya 2874c3dd67 docs(i18n): Translate project specifications to Russian
Translated the content of tech_spec.txt and project_structure.txt to Russian, including descriptions and statuses, while keeping the tag structure intact as per the guidelines.
2025-08-09 10:12:40 +03:00

147 lines
14 KiB
Plaintext
Raw 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.

<?xml version="1.0" encoding="UTF-8"?>
<PROJECT_STRUCTURE>
<module name="app" type="android_app">
<purpose_summary>Основной модуль приложения, содержит UI и точки входа в приложение.</purpose_summary>
<file name="app/src/main/java/com/homebox/lens/MainActivity.kt" status="реализовано" ref_id="entry_point">
<purpose_summary>Главная и единственная Activity приложения, содержит NavHost.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/MainApplication.kt" status="реализовано" ref_id="app_context">
<purpose_summary>Класс Application, используется для настройки внедрения зависимостей Hilt.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/di/AppModule.kt" status="реализовано" ref_id="di_app">
<purpose_summary>Модуль Hilt для зависимостей уровня приложения.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/navigation/NavGraph.kt" status="реализовано" ref_id="nav_graph">
<purpose_summary>Определяет навигационный граф для всего приложения с использованием Jetpack Compose Navigation.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/navigation/Screen.kt" status="реализовано" ref_id="nav_screen">
<purpose_summary>Определяет маршруты для всех экранов в приложении в виде запечатанного класса.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/dashboard/DashboardScreen.kt" status="требует_обзора" spec_ref_id="screen_dashboard">
<purpose_summary>UI для экрана панели управления.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/dashboard/DashboardViewModel.kt" status="требует_обзора" spec_ref_id="screen_dashboard">
<purpose_summary>ViewModel для экрана панели управления, обрабатывает бизнес-логику.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/inventorylist/InventoryListScreen.kt" status="требует_обзора" spec_ref_id="screen_inventory_list">
<purpose_summary>UI для экрана списка инвентаря.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/inventorylist/InventoryListViewModel.kt" status="требует_обзора" spec_ref_id="screen_inventory_list">
<purpose_summary>ViewModel для экрана списка инвентаря.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemdetails/ItemDetailsScreen.kt" status="требует_обзора" spec_ref_id="screen_item_details">
<purpose_summary>UI для экрана сведений о товаре.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemdetails/ItemDetailsViewModel.kt" status="требует_обзора" spec_ref_id="screen_item_details">
<purpose_summary>ViewModel для экрана сведений о товаре.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemedit/ItemEditScreen.kt" status="требует_обзора" spec_ref_id="screen_item_edit">
<purpose_summary>UI для экрана редактирования товара.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemedit/ItemEditViewModel.kt" status="требует_обзора" spec_ref_id="screen_item_edit">
<purpose_summary>ViewModel для экрана редактирования товара.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/labelslist/LabelsListScreen.kt" status="требует_обзора" spec_ref_id="screen_labels_list">
<purpose_summary>UI для экрана списка меток.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/labelslist/LabelsListViewModel.kt" status="требует_обзора" spec_ref_id="screen_labels_list">
<purpose_summary>ViewModel для экрана списка меток.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/locationslist/LocationsListScreen.kt" status="требует_обзора" spec_ref_id="screen_locations_list">
<purpose_summary>UI для экрана списка местоположений.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/locationslist/LocationsListViewModel.kt" status="требует_обзора" spec_ref_id="screen_locations_list">
<purpose_summary>ViewModel для экрана списка местоположений.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/search/SearchScreen.kt" status="требует_обзора" spec_ref_id="screen_search">
<purpose_summary>UI для экрана поиска.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/search/SearchViewModel.kt" status="требует_обзора" spec_ref_id="screen_search">
<purpose_summary>ViewModel для экрана поиска.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/setup/SetupScreen.kt" status="требует_обзора" spec_ref_id="screen_setup">
<purpose_summary>UI для экрана настройки.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/setup/SetupViewModel.kt" status="требует_обзора" spec_ref_id="screen_setup">
<purpose_summary>ViewModel для экрана настройки.</purpose_summary>
</file>
<file name="app/src/main/java/com/homebox/lens/ui/screen/setup/SetupUiState.kt" status="реализовано" spec_ref_id="screen_setup">
<purpose_summary>Состояние UI для экрана настройки.</purpose_summary>
</file>
</module>
<module name="data" type="android_library">
<purpose_summary>Слой данных, отвечающий за источники данных (сеть, локальная БД) и реализации репозиториев.</purpose_summary>
<file name="data/src/main/java/com/homebox/lens/data/api/HomeboxApiService.kt" status="реализовано" ref_id="api_service">
<purpose_summary>Интерфейс сервиса Retrofit для Homebox API.</purpose_summary>
</file>
<file name="data/src/main/java/com/homebox/lens/data/db/HomeboxDatabase.kt" status="реализовано" ref_id="database">
<purpose_summary>Определение базы данных Room для локального кэширования.</purpose_summary>
</file>
<file name="data/src/main/java/com/homebox/lens/data/repository/ItemRepositoryImpl.kt" status="реализовано" ref_id="repo_impl">
<purpose_summary>Реализация ItemRepository, координирующая данные из API и локальной БД.</purpose_summary>
</file>
<file name="data/src/main/java/com/homebox/lens/data/di/ApiModule.kt" status="реализовано" ref_id="di_api">
<purpose_summary>Модуль Hilt для предоставления зависимостей, связанных с сетью (Retrofit, OkHttp).</purpose_summary>
</file>
<file name="data/src/main/java/com/homebox/lens/data/di/DatabaseModule.kt" status="реализовано" ref_id="di_db">
<purpose_summary>Модуль Hilt для предоставления зависимостей, связанных с базой данных (Room DB, DAO).</purpose_summary>
</file>
<file name="data/src/main/java/com/homebox/lens/data/di/RepositoryModule.kt" status="реализовано" ref_id="di_repo">
<purpose_summary>Модуль Hilt для привязки интерфейсов репозиториев к их реализациям.</purpose_summary>
</file>
<file name="data/src/main/java/com/homebox/lens/data/di/StorageModule.kt" status="реализовано" ref_id="di_storage">
<purpose_summary>Модуль Hilt для предоставления зависимостей, связанных с хранилищем (EncryptedSharedPreferences).</purpose_summary>
</file>
<file name="data/src/main/java/com/homebox/lens/data/repository/CredentialsRepositoryImpl.kt" status="реализовано" ref_id="repo_credentials_impl">
<purpose_summary>Реализация CredentialsRepository.</purpose_summary>
</file>
<file name="data/src/main/java/com/homebox/lens/data/repository/AuthRepositoryImpl.kt" status="реализовано" ref_id="repo_auth_impl">
<purpose_summary>Реализация AuthRepository.</purpose_summary>
</file>
</module>
<module name="domain" type="kotlin_jvm_library">
<purpose_summary>Доменный слой, содержит бизнес-логику, сценарии использования и интерфейсы репозиториев. Чистый модуль Kotlin.</purpose_summary>
<file name="domain/src/main/java/com/homebox/lens/domain/model/Credentials.kt" status="реализовано" ref_id="model_credentials">
<purpose_summary>Класс данных для хранения учетных данных пользователя.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/repository/AuthRepository.kt" status="реализовано" ref_id="repo_auth_interface">
<purpose_summary>Интерфейс для репозитория аутентификации.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/repository/CredentialsRepository.kt" status="реализовано" ref_id="repo_credentials_interface">
<purpose_summary>Интерфейс для репозитория учетных данных.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/repository/ItemRepository.kt" status="реализовано" ref_id="repo_interface">
<purpose_summary>Интерфейс, определяющий контракт для операций с данными, связанными с товарами.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/LoginUseCase.kt" status="реализовано" spec_ref_id="uc_login">
<purpose_summary>Сценарий использования для входа пользователя.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/CreateItemUseCase.kt" status="реализовано" spec_ref_id="uc_create_item">
<purpose_summary>Сценарий использования для создания нового товара.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/DeleteItemUseCase.kt" status="реализовано" spec_ref_id="uc_delete_item">
<purpose_summary>Сценарий использования для удаления товара.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/GetAllLabelsUseCase.kt" status="реализовано" spec_ref_id="uc_get_all_labels">
<purpose_summary>Сценарий использования для получения всех меток.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/GetAllLocationsUseCase.kt" status="реализовано" spec_ref_id="uc_get_all_locations">
<purpose_summary>Сценарий использования для получения всех местоположений.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/GetItemDetailsUseCase.kt" status="реализовано" spec_ref_id="uc_get_item_details">
<purpose_summary>Сценарий использования для получения сведений о конкретном товаре.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/GetStatisticsUseCase.kt" status="реализовано" spec_ref_id="uc_get_stats">
<purpose_summary>Сценарий использования для получения статистики по инвентарю.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/SearchItemsUseCase.kt" status="реализовано" spec_ref_id="uc_search_items">
<purpose_summary>Сценарий использования для поиска товаров.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/SyncInventoryUseCase.kt" status="реализовано" spec_ref_id="uc_sync_inventory">
<purpose_summary>Сценарий использования для синхронизации локального инвентаря с удаленным сервером.</purpose_summary>
</file>
<file name="domain/src/main/java/com/homebox/lens/domain/usecase/UpdateItemUseCase.kt" status="реализовано" spec_ref_id="uc_update_item">
<purpose_summary>Сценарий использования для обновления существующего товара.</purpose_summary>
</file>
</module>
</PROJECT_STRUCTURE>