/ShopSmart

A Shopping list app developed using Kotlin(Jetpack Compose). It allows users to create, edit, and manage their shopping lists same as to-do lists for daily use.

Primary LanguageKotlinMIT LicenseMIT

ShopSmart: Your Smart Shopping Companion

Effortless shopping, simplified. 🛒

ShopSmart is a user-friendly shopping list app built with Kotlin and Jetpack Compose. From organizing items by category to adding them through voice commands, ShopSmart helps you streamline your grocery shopping experience—whether you're online or offline.

🔗 Table of Contents

  1. Features
  2. Screenshots
  3. Upcoming Features
  4. Technologies Used
  5. Setup Guide
  6. Contributing
  7. License

✨ Features

  • List Creation with Image Generation: Users can create and add multiple shopping lists. Each list will automatically generate a relevant image for better organization.
  • Offline Mode: All features are available without an internet connection.
  • Price Estimation: Add price estimates for items to keep track of budgets.

Upcoming Features

  • Item Sorting: Items are sorted by categories for easier shopping.
  • Voice Input: Users can add items using voice input.
  • Reminders: Set reminders for shopping trips.
  • Dark Mode: An optional dark mode for better usability in low-light environments.

Technologies Used

  • Kotlin: The primary programming language used for app development.
  • Android SDK: Android Software Development Kit for building Android apps.
  • MVVM Architecture: Model-View-ViewModel architecture pattern for clean and maintainable code.
  • Room: Used for local database management and data storage.
  • Retrofit: HTTP client for API requests.
  • Pixabay API: Used to fetch images for list creation.
  • ViewModel: Manages UI-related data in a lifecycle-conscious way.

Screenshots

App Splash Screen Shopping List Creation
Home Screen List Creation
Items List Price Estimation Feature
Voice Input Price Estimation

🚀 Setup Guide

To get started with ShopSmart, follow these steps:

  1. Fork It: Fork the project to create your own copy.

  2. Clone the repository:

    $ git clone https://github.com/<your-account-username>/<your-forked-project>.git
  3. Open in Android Studio:
    Open the cloned project in Android Studio.

  4. Build & Run:
    Connect your Android device or launch an emulator, then hit the Run button in Android Studio to build and deploy the app.


🤝Contributing

We’re excited for you to contribute to ShopSmart! Here’s how:

  1. 🌿 Branch Out: Create a new branch with a meaningful name (MANDATORY).

    $ git checkout -b <your_branch_name>
  2. ✍️ Make Changes: Modify existing files, add new ones, or remove unnecessary ones.

  3. 📁 Track Changes: Add the changed files to the staging area.

    $ git add .
  4. 🚚 Commit: Commit your changes with a descriptive message.

    $ git commit -m "<commit message>"
  5. 🚀 Push Changes: Push your committed changes to your forked repository on GitHub.

    $ git push -u origin <your_branch_name>
  6. 🌐 Create Pull Request: On GitHub, navigate to your forked repository and initiate a pull request by clicking "Compare & pull request".


Important Guidelines ⚡

  1. Contributors should only work on issues that have been assigned to them.
  2. Each pull request should be associated with one issue only.
  3. No minor text edits should be submitted unless necessary.
  4. Unethical behavior, tampering with files, or harassment will result in disqualification.
  5. Follow the community guidelines while contributing to ensure a healthy collaborative environment.
  6. No Issue Repetitions are allowed.
  7. Check the issues before you raise an issue.
  8. No Plagiarism of Codes.
  9. Make sure the Code is genuine and it helps maximum to this project.

Community Guidelines 🤝

Please follow these guidelines while contributing:

  • Be respectful and considerate towards others.

  • Use inclusive language and foster a welcoming environment.

  • Avoid personal attacks, harassment, or discrimination.

  • Keep discussions focused on constructive topics.

  • Code Reviews ✅

  • Be open to feedback from other contributors.

  • Participate in code reviews to help improve the project.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.


📜License

This project is licensed under the MIT License. See the LICENSE file for details.


🙏 Support

Found a bug or have a feature request? Please open an issue. If you like the project, don’t forget to give it a ⭐!

Crafted with ❤️ by Yuvraj Singh