WishList App is a simple Android application built using Jetpack Compose and Room database. It provides an intuitive and modern way to manage your personal wish list items with a clean, material design interface.
Inspired by the Udemy course on The Complete Android 14 & Kotlin Development Masterclass Created by Denis Panjuta.
Screen_recording_20241125_182222.mp4
- Create Wishes: Add new wishes with a title and description
- View Wishes: Browse all your wish list items in a clean list view
- Edit Wishes: Modify existing wish details with ease
- Delete Wishes: Remove items using an intuitive swipe-to-dismiss gesture
- Error Handling: Robust error management with user-friendly notifications
- Modern UI: Clean and contemporary Material Design 3 interface
- Language: Kotlin
- UI Framework: Jetpack Compose
- Database: Room
- Architecture: MVVM (Model-View-ViewModel)
- Asynchronous Programming: Kotlin Coroutines
- Dependency Management: Manual dependency graph
Wish
: Data class representing a wish list itemWishDao
: Database access object for CRUD operationsWishRepository
: Manages data operations and provides a clean API for the ViewModel
WishListViewModel
: Handles UI state, business logic, and interaction with the repositoryAddEditDetailView
: Composable screen for adding and editing wishesAppBarView
: Custom app bar for navigation- Validation: Built-in input validation (e.g., title length between 1-50 characters)
- Utilizes Android Navigation Component for seamless screen transitions
- Android Studio Hedgehog (2023.1.1) or later
- Kotlin plugin
- Android SDK 24 (Android 7.0) or higher
-
Clone the repository
git clone https://github.com/CGreenP/WishList-App.git
-
Open the project in Android Studio
-
Sync Gradle files
-
Run the app on an emulator or physical device
- Launch the WishList App
- Tap the "+" button to create a new wish
- Enter a title (1-50 characters) and description
- Save the wish
- Swipe left on a wish to delete it
- Tap on a wish to edit its details
- Jetpack Compose
- Room Database
- Kotlin Coroutines
- Android Navigation Component
- Material Design 3
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m 'Add some AmazingFeature'
- Push to the branch
git push origin feature/AmazingFeature
- Open a Pull Request
WishList App demonstrates modern Android development practices, combining the power of Jetpack Compose, Room Database, and MVVM architecture to create a simple yet effective wish tracking application.
Happy wishing! 🚀✨