Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions docs/FEATURES.md
Original file line number Diff line number Diff line change
@@ -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