A beautiful, feature-rich photo journal application built with Kotlin and Jetpack Compose for Android.
- Three Main Screens: Home (entry list), Detail (full entry view), Edit (create/edit)
- Clear Navigation: Seamless navigation between screens with state management
- Meaningful User Input: Create entries with title, description, mood selector, and photos
- Display User Data: Show journal entries in grid layout with thumbnails and details
- Basic App Logic: Full CRUD operations for journal entries
- Validation & Error Handling: Input validation, permission handling, user-friendly error messages
- Room database with SQLite backend
- Automatic persistence of all journal entries
- Data survives app restarts
- Photo picker from device gallery
- Image loading and display using Coil
- Photos stored in app-specific storage
- Create: Add new entries with all details
- Read: View all entries and individual details
- Update: Edit existing entries
- Delete: Remove entries with confirmation
- Real-time search by title and description
- Filter entries by mood (Happy, Sad, Excited, Thoughtful)
- Combined search + filter in single operation
- Title field validation (required)
- Permission handling for storage/camera
- Graceful error messages
- Error state display in UI