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".
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.
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