Skip to content

A modern, user-friendly shopping list application built with Jetpack Compose for Android.

Notifications You must be signed in to change notification settings

CGreenP/MyShoppingList-App

Repository files navigation

MyShoppingList App

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.

Output Screenshot-

Output Video-

Screen_recording_20241112_184707.mp4

Features

  • ✨ 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

Tech Stack

  • 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

Architecture

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

Key Components

ShoppingItem Data Class

data class ShoppingItem(
    val id: Int,
    var name: String,
    var quantity: Int,
    var isEditing: Boolean = false
)

Main Components

  • ShoppingListApp - Main composable containing the app's logic and UI
  • ShoppingItemEditor - Composable for editing shopping items
  • ShoppingListItem - Composable for displaying individual shopping items

Features in Detail

Adding 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

Editing Items

  • Tap the edit icon on any item
  • Modify name or quantity
  • Real-time validation
  • Save changes with the check button

Deleting Items

  • Tap the delete icon to remove items from the list
  • No confirmation required (can be added if needed)

UI/UX Features

  • 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

Getting Started

Prerequisites

  • Android Studio Arctic Fox or later
  • Android SDK 21 or higher
  • Kotlin 1.5.0 or higher

Installation

  1. Clone the repository:
git clone https://github.com/CGreenP/MyShoppingList-App.git
  1. Open the project in Android Studio
  2. Run the app on an emulator or physical device

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Acknowledgements

  • 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

About

A modern, user-friendly shopping list application built with Jetpack Compose for Android.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages