docs: Update project specs and align statuses
- Add Timber to technical decisions in tech_spec.txt - Update feature statuses to 'backend_implemented' in tech_spec.txt - Update UI component statuses to 'needs_review' in project_structure.txt
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
package com.homebox.lens.data.api.mapper
|
||||||
|
|
||||||
|
class TokenMapper {
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
// [PACKAGE] com.homebox.lens.data.api.model
|
||||||
|
// [FILE] LoginRequest.kt
|
||||||
|
// [SEMANTICS] dto, network, serialization, authentication
|
||||||
|
|
||||||
|
package com.homebox.lens.data.api
|
||||||
|
|
||||||
|
import com.squareup.moshi.Json
|
||||||
|
import com.squareup.moshi.JsonClass
|
||||||
|
|
||||||
|
/**
|
||||||
|
* [ENTITY: DataClass('LoginRequest')]
|
||||||
|
* [CONTRACT]
|
||||||
|
* DTO (Data Transfer Object) для запроса на аутентификацию.
|
||||||
|
* @property username Имя пользователя.
|
||||||
|
* @property password Пароль пользователя.
|
||||||
|
* @invariant Свойства не должны быть пустыми.
|
||||||
|
*/
|
||||||
|
@JsonClass(generateAdapter = true)
|
||||||
|
data class LoginRequest(
|
||||||
|
@Json(name = "username") val username: String,
|
||||||
|
@Json(name = "password") val password: String
|
||||||
|
) {
|
||||||
|
init {
|
||||||
|
// [INVARIANT_CHECK]
|
||||||
|
require(username.isNotBlank()) { "[INVARIANT_FAILED] Username cannot be blank." }
|
||||||
|
require(password.isNotBlank()) { "[INVARIANT_FAILED] Password cannot be blank." }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// [END_FILE_LoginRequest.kt]
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package com.homebox.lens.data.repository
|
||||||
|
|
||||||
|
class EncryptedPreferencesWrapper {
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package com.homebox.lens.data.security
|
||||||
|
|
||||||
|
class CryptoManager {
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package com.homebox.lens.domain.model
|
||||||
|
|
||||||
|
class TokenResponse {
|
||||||
|
}
|
||||||
@@ -17,52 +17,52 @@
|
|||||||
<file name="app/src/main/java/com/homebox/lens/navigation/Screen.kt" status="implemented" ref_id="nav_screen">
|
<file name="app/src/main/java/com/homebox/lens/navigation/Screen.kt" status="implemented" ref_id="nav_screen">
|
||||||
<purpose_summary>Defines the routes for all screens in the app as a sealed class.</purpose_summary>
|
<purpose_summary>Defines the routes for all screens in the app as a sealed class.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/dashboard/DashboardScreen.kt" status="stub" spec_ref_id="screen_dashboard">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/dashboard/DashboardScreen.kt" status="needs_review" spec_ref_id="screen_dashboard">
|
||||||
<purpose_summary>UI for the Dashboard screen.</purpose_summary>
|
<purpose_summary>UI for the Dashboard screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/dashboard/DashboardViewModel.kt" status="stub" spec_ref_id="screen_dashboard">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/dashboard/DashboardViewModel.kt" status="needs_review" spec_ref_id="screen_dashboard">
|
||||||
<purpose_summary>ViewModel for the Dashboard screen, handles business logic.</purpose_summary>
|
<purpose_summary>ViewModel for the Dashboard screen, handles business logic.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/inventorylist/InventoryListScreen.kt" status="stub" spec_ref_id="screen_inventory_list">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/inventorylist/InventoryListScreen.kt" status="needs_review" spec_ref_id="screen_inventory_list">
|
||||||
<purpose_summary>UI for the Inventory List screen.</purpose_summary>
|
<purpose_summary>UI for the Inventory List screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/inventorylist/InventoryListViewModel.kt" status="stub" spec_ref_id="screen_inventory_list">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/inventorylist/InventoryListViewModel.kt" status="needs_review" spec_ref_id="screen_inventory_list">
|
||||||
<purpose_summary>ViewModel for the Inventory List screen.</purpose_summary>
|
<purpose_summary>ViewModel for the Inventory List screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemdetails/ItemDetailsScreen.kt" status="stub" spec_ref_id="screen_item_details">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemdetails/ItemDetailsScreen.kt" status="needs_review" spec_ref_id="screen_item_details">
|
||||||
<purpose_summary>UI for the Item Details screen.</purpose_summary>
|
<purpose_summary>UI for the Item Details screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemdetails/ItemDetailsViewModel.kt" status="stub" spec_ref_id="screen_item_details">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemdetails/ItemDetailsViewModel.kt" status="needs_review" spec_ref_id="screen_item_details">
|
||||||
<purpose_summary>ViewModel for the Item Details screen.</purpose_summary>
|
<purpose_summary>ViewModel for the Item Details screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemedit/ItemEditScreen.kt" status="stub" spec_ref_id="screen_item_edit">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemedit/ItemEditScreen.kt" status="needs_review" spec_ref_id="screen_item_edit">
|
||||||
<purpose_summary>UI for the Item Edit screen.</purpose_summary>
|
<purpose_summary>UI for the Item Edit screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemedit/ItemEditViewModel.kt" status="stub" spec_ref_id="screen_item_edit">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/itemedit/ItemEditViewModel.kt" status="needs_review" spec_ref_id="screen_item_edit">
|
||||||
<purpose_summary>ViewModel for the Item Edit screen.</purpose_summary>
|
<purpose_summary>ViewModel for the Item Edit screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/labelslist/LabelsListScreen.kt" status="stub" spec_ref_id="screen_labels_list">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/labelslist/LabelsListScreen.kt" status="needs_review" spec_ref_id="screen_labels_list">
|
||||||
<purpose_summary>UI for the Labels List screen.</purpose_summary>
|
<purpose_summary>UI for the Labels List screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/labelslist/LabelsListViewModel.kt" status="stub" spec_ref_id="screen_labels_list">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/labelslist/LabelsListViewModel.kt" status="needs_review" spec_ref_id="screen_labels_list">
|
||||||
<purpose_summary>ViewModel for the Labels List screen.</purpose_summary>
|
<purpose_summary>ViewModel for the Labels List screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/locationslist/LocationsListScreen.kt" status="stub" spec_ref_id="screen_locations_list">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/locationslist/LocationsListScreen.kt" status="needs_review" spec_ref_id="screen_locations_list">
|
||||||
<purpose_summary>UI for the Locations List screen.</purpose_summary>
|
<purpose_summary>UI for the Locations List screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/locationslist/LocationsListViewModel.kt" status="stub" spec_ref_id="screen_locations_list">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/locationslist/LocationsListViewModel.kt" status="needs_review" spec_ref_id="screen_locations_list">
|
||||||
<purpose_summary>ViewModel for the Locations List screen.</purpose_summary>
|
<purpose_summary>ViewModel for the Locations List screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/search/SearchScreen.kt" status="stub" spec_ref_id="screen_search">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/search/SearchScreen.kt" status="needs_review" spec_ref_id="screen_search">
|
||||||
<purpose_summary>UI for the Search screen.</purpose_summary>
|
<purpose_summary>UI for the Search screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/search/SearchViewModel.kt" status="stub" spec_ref_id="screen_search">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/search/SearchViewModel.kt" status="needs_review" spec_ref_id="screen_search">
|
||||||
<purpose_summary>ViewModel for the Search screen.</purpose_summary>
|
<purpose_summary>ViewModel for the Search screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/setup/SetupScreen.kt" status="stub" spec_ref_id="screen_setup">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/setup/SetupScreen.kt" status="needs_review" spec_ref_id="screen_setup">
|
||||||
<purpose_summary>UI for the Setup screen.</purpose_summary>
|
<purpose_summary>UI for the Setup screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/setup/SetupViewModel.kt" status="stub" spec_ref_id="screen_setup">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/setup/SetupViewModel.kt" status="needs_review" spec_ref_id="screen_setup">
|
||||||
<purpose_summary>ViewModel for the Setup screen.</purpose_summary>
|
<purpose_summary>ViewModel for the Setup screen.</purpose_summary>
|
||||||
</file>
|
</file>
|
||||||
<file name="app/src/main/java/com/homebox/lens/ui/screen/setup/SetupUiState.kt" status="implemented" spec_ref_id="screen_setup">
|
<file name="app/src/main/java/com/homebox/lens/ui/screen/setup/SetupUiState.kt" status="implemented" spec_ref_id="screen_setup">
|
||||||
|
|||||||
@@ -5,8 +5,15 @@
|
|||||||
<description>An Android client for the Homebox inventory management system. It allows users to manage their inventory by interacting with a Homebox server instance.</description>
|
<description>An Android client for the Homebox inventory management system. It allows users to manage their inventory by interacting with a Homebox server instance.</description>
|
||||||
</PROJECT_INFO>
|
</PROJECT_INFO>
|
||||||
|
|
||||||
|
<TECHNICAL_DECISIONS>
|
||||||
|
<DECISION id="tech_logging">
|
||||||
|
<summary>Logging Library</summary>
|
||||||
|
<description>The project uses Timber (timber.log.Timber) for all logging purposes. It provides a simple and extensible API for logging.</description>
|
||||||
|
</DECISION>
|
||||||
|
</TECHNICAL_DECISIONS>
|
||||||
|
|
||||||
<FEATURES>
|
<FEATURES>
|
||||||
<FEATURE id="feat_dashboard" status="in_progress">
|
<FEATURE id="feat_dashboard" status="backend_implemented">
|
||||||
<summary>Dashboard Screen</summary>
|
<summary>Dashboard Screen</summary>
|
||||||
<description>Displays a summary of the inventory, including statistics like total items, total value, and counts by location/label.</description>
|
<description>Displays a summary of the inventory, including statistics like total items, total value, and counts by location/label.</description>
|
||||||
<UI_COMPONENT ref_id="screen_dashboard" />
|
<UI_COMPONENT ref_id="screen_dashboard" />
|
||||||
@@ -19,7 +26,7 @@
|
|||||||
</FUNCTIONALITY>
|
</FUNCTIONALITY>
|
||||||
</FEATURE>
|
</FEATURE>
|
||||||
|
|
||||||
<FEATURE id="feat_inventory_list" status="in_progress">
|
<FEATURE id="feat_inventory_list" status="backend_implemented">
|
||||||
<summary>Inventory List Screen</summary>
|
<summary>Inventory List Screen</summary>
|
||||||
<description>Displays a searchable and filterable list of all inventory items.</description>
|
<description>Displays a searchable and filterable list of all inventory items.</description>
|
||||||
<UI_COMPONENT ref_id="screen_inventory_list" />
|
<UI_COMPONENT ref_id="screen_inventory_list" />
|
||||||
@@ -37,7 +44,7 @@
|
|||||||
</FUNCTIONALITY>
|
</FUNCTIONALITY>
|
||||||
</FEATURE>
|
</FEATURE>
|
||||||
|
|
||||||
<FEATURE id="feat_item_details" status="in_progress">
|
<FEATURE id="feat_item_details" status="backend_implemented">
|
||||||
<summary>Item Details Screen</summary>
|
<summary>Item Details Screen</summary>
|
||||||
<description>Shows all details for a single inventory item, including its name, description, images, attachments, and custom fields.</description>
|
<description>Shows all details for a single inventory item, including its name, description, images, attachments, and custom fields.</description>
|
||||||
<UI_COMPONENT ref_id="screen_item_details" />
|
<UI_COMPONENT ref_id="screen_item_details" />
|
||||||
@@ -50,7 +57,7 @@
|
|||||||
</FUNCTIONALITY>
|
</FUNCTIONALITY>
|
||||||
</FEATURE>
|
</FEATURE>
|
||||||
|
|
||||||
<FEATURE id="feat_item_management" status="in_progress">
|
<FEATURE id="feat_item_management" status="backend_implemented">
|
||||||
<summary>Create/Edit/Delete Items</summary>
|
<summary>Create/Edit/Delete Items</summary>
|
||||||
<description>Allows users to create new items, update existing ones, and delete them.</description>
|
<description>Allows users to create new items, update existing ones, and delete them.</description>
|
||||||
<UI_COMPONENT ref_id="screen_item_edit" />
|
<UI_COMPONENT ref_id="screen_item_edit" />
|
||||||
@@ -73,7 +80,7 @@
|
|||||||
</FUNCTIONALITY>
|
</FUNCTIONALITY>
|
||||||
</FEATURE>
|
</FEATURE>
|
||||||
|
|
||||||
<FEATURE id="feat_labels_locations" status="in_progress">
|
<FEATURE id="feat_labels_locations" status="backend_implemented">
|
||||||
<summary>Manage Labels and Locations</summary>
|
<summary>Manage Labels and Locations</summary>
|
||||||
<description>Allows users to view lists of all available labels and locations.</description>
|
<description>Allows users to view lists of all available labels and locations.</description>
|
||||||
<UI_COMPONENT ref_id="screen_labels_list" />
|
<UI_COMPONENT ref_id="screen_labels_list" />
|
||||||
@@ -92,7 +99,7 @@
|
|||||||
</FUNCTIONALITY>
|
</FUNCTIONALITY>
|
||||||
</FEATURE>
|
</FEATURE>
|
||||||
|
|
||||||
<FEATURE id="feat_search" status="in_progress">
|
<FEATURE id="feat_search" status="backend_implemented">
|
||||||
<summary>Search Screen</summary>
|
<summary>Search Screen</summary>
|
||||||
<description>Provides a dedicated UI for searching items.</description>
|
<description>Provides a dedicated UI for searching items.</description>
|
||||||
<UI_COMPONENT ref_id="screen_search" />
|
<UI_COMPONENT ref_id="screen_search" />
|
||||||
|
|||||||
Reference in New Issue
Block a user