A modern, user-friendly shopping list application built with Jetpack Compose for Android. This app helps users manage their shopping lists efficiently with a clean and intuitive interface.
Inspired by the Udemy course on The Complete Android 14 & Kotlin Development Masterclass Created by Denis Panjuta.
Screen_recording_20241112_184707.mp4
- ✨ Material Design 3 UI components
- 📝 Add, edit, and delete shopping items
- 🔢 Quantity management for each item
- 🔍 Input validation for item names and quantities
- ⚡ Smooth animations and transitions
- ⬆️ Quick scroll-to-top functionality
- 📱 Responsive layout design
- Kotlin - Primary programming language
- Jetpack Compose - Modern UI toolkit for Android
- Material Design 3 - Latest Material Design components and theming
- Coroutines - For handling asynchronous operations
- State Management - Using Compose's built-in state management
The app follows modern Android development practices:
- Single Activity Architecture - Using Compose navigation
- State Hoisting - For better state management and reusability
- Composable Functions - Modular and reusable UI components
- Data Classes - For representing shopping items
data class ShoppingItem(
val id: Int,
var name: String,
var quantity: Int,
var isEditing: Boolean = false
)
ShoppingListApp
- Main composable containing the app's logic and UIShoppingItemEditor
- Composable for editing shopping itemsShoppingListItem
- Composable for displaying individual shopping items
- Click the "Add Item" button
- Enter item name and quantity
- Input validation ensures:
- Item name is not empty
- Quantity is a valid number
- All required fields are filled
- Tap the edit icon on any item
- Modify name or quantity
- Real-time validation
- Save changes with the check button
- Tap the delete icon to remove items from the list
- No confirmation required (can be added if needed)
- Smooth scrolling with LazyColumn
- Scroll-to-top button appears when scrolling down
- Material Design 3 theming and components
- Responsive layout adapting to different screen sizes
- Android Studio Arctic Fox or later
- Android SDK 21 or higher
- Kotlin 1.5.0 or higher
- Clone the repository:
git clone https://github.com/CGreenP/MyShoppingList-App.git
- Open the project in Android Studio
- Run the app on an emulator or physical device
Contributions are welcome! Please feel free to submit a Pull Request.
- Thanks to the Jetpack Compose team for the amazing UI toolkit
- Material Design 3 guidelines for the beautiful design system
- Android developer community for inspiration and support