diff --git a/docs/FEATURES.md b/docs/FEATURES.md new file mode 100644 index 0000000..fb852f7 --- /dev/null +++ b/docs/FEATURES.md @@ -0,0 +1,30 @@ +# Gallery App Features Documentation + +## Album Management Feature + +### Overview +The Album Management feature allows users to browse, organize, and manage their photo albums with advanced sorting and pinning capabilities. + +### Key Components +- **AlbumsScreen.kt**: Main albums list screen +- **AlbumsViewModel.kt**: ViewModel managing album state +- **AlbumComponent.kt**: Reusable album card component +- **PinnedDatabase.kt**: Room database for pinned albums +- **InsertPinnedAlbumUseCase.kt**: Use case for pinning albums +- **DeletePinnedAlbumUseCase.kt**: Use case for unpinning albums + +### Features +- Album list display with thumbnails +- Pin/unpin albums to top +- Sort albums by: + - Date (Recent/Oldest) + - Name (A-Z/Z-A) +- Quick access to Favorites and Trash +- Album view with media grid +- Persistent pinning with Room database + +### Implementation Details +- Uses Room database for pinned album persistence +- Implements Clean Architecture with Use Cases +- Supports filter options with saved preferences +- Glide preloading for album thumbnails