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.
- 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.
- 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.
- 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.
App Splash Screen | Shopping List Creation |
---|---|
Items List | Price Estimation Feature |
---|---|
To get started with ShopSmart, follow these steps:
-
Fork It: Fork the project to create your own copy.
-
Clone the repository:
$ git clone https://github.com/<your-account-username>/<your-forked-project>.git
-
Open in Android Studio:
Open the cloned project in Android Studio. -
Build & Run:
Connect your Android device or launch an emulator, then hit the Run button in Android Studio to build and deploy the app.
We’re excited for you to contribute to ShopSmart! Here’s how:
-
🌿 Branch Out: Create a new branch with a meaningful name (MANDATORY).
$ git checkout -b <your_branch_name>
-
✍️ Make Changes: Modify existing files, add new ones, or remove unnecessary ones.
-
📁 Track Changes: Add the changed files to the staging area.
$ git add .
-
🚚 Commit: Commit your changes with a descriptive message.
$ git commit -m "<commit message>"
-
🚀 Push Changes: Push your committed changes to your forked repository on GitHub.
$ git push -u origin <your_branch_name>
-
🌐 Create Pull Request: On GitHub, navigate to your forked repository and initiate a pull request by clicking "Compare & pull request".
- Contributors should only work on issues that have been assigned to them.
- Each pull request should be associated with one issue only.
- No minor text edits should be submitted unless necessary.
- Unethical behavior, tampering with files, or harassment will result in disqualification.
- Follow the community guidelines while contributing to ensure a healthy collaborative environment.
- No Issue Repetitions are allowed.
- Check the issues before you raise an issue.
- No Plagiarism of Codes.
- Make sure the Code is genuine and it helps maximum to this project.
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.
-
Be open to feedback from other contributors.
-
Participate in code reviews to help improve the project.
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.
This project is licensed under the MIT License. See the LICENSE file for details.
Yuvraj Singh Project Admin |
For any inquiries or feedback, please contact. Happy Contributing 🫡
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