/ShopSmart

ShopSmart is a shopping assistant app that lets you search for products, compare prices from various e-commerce platforms, and find the best deals in one place. You can save favorites, create shopping lists, and stay updated with the latest offers. When you're ready, seamlessly navigate to the respective site to complete your purchase.

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

Shopping & Navigation

  • Smart Search: Voice and text search functionality with product suggestions
  • Personalized Categories: Electronics, Fashion, Home & Living, Books, Sports, Beauty, Toys, and Automotive sections
  • Shopping Interest Filters: Customizable feeds with New Arrivals, Deals, Premium, Sustainable, Trending, Handmade, Limited Edition, and Local Sellers
  • Featured Products: Curated product listings with ratings, discounts, and vendor information
  • Wishlist & Favorites: Save items with price tracking and stock notifications

List Management

  • Smart Shopping Lists: Create and manage dated shopping lists with images
  • Quantity Controls: Easy increment/decrement buttons for item quantities
  • Price Tracking: Automatic total calculation and per-item pricing
  • Empty State Handling: User-friendly prompts to add items when lists are empty
  • Multiple List Support: Create and manage multiple shopping lists with dates

Order Management

  • Comprehensive Order Tracking: Real-time updates for order confirmation, shipping, and delivery
  • Order Notifications: Customizable alerts for:
    • Order confirmation
    • Shipping status changes
    • Delivery updates
    • Order cancellations
    • Price drops on wishlist items
    • Back-in-stock alerts

Payment & Refunds

  • Multi-Currency Support: USD, EUR, GBP, INR, JPY, AUD, CAD, and CNY
  • Flexible Refund System:
    • Multiple refund methods (Original Payment, Store Credit, Bank Account)
    • Automatic refund processing
    • Refund status notifications
    • Customizable refund preferences

User Experience

  • Profile Management: Customizable user profiles with profile picture
  • Customer Support: Multiple contact channels including:

Upcoming Features

  • Enhanced Item Sorting: Advanced categorization and filtering options
  • Voice Commands: Expanded voice functionality for hands-free operation
  • Shopping Analytics: Personal shopping insights and trends
  • Social Shopping: List sharing and collaborative shopping features
  • Dark Mode: Enhanced visibility with dark theme option
  • Barcode Scanner: Quick item addition using device camera
  • Shopping Route Optimization: Smart shopping trip planning
  • Budget Tracking: Advanced budget management tools
  • AI-Powered Recommendations: Personalized product suggestions
  • Seasonal Shopping Lists: Templates for holiday and special occasions

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
Intuitive Checkout Screen Contact Us Page
Voice Input Price Estimation
Currency Selection Screen Refund Settings Screen
Voice Input Price Estimation
Recommendations Screen Profile Screen
Voice Input Price Estimation
Order Notifications Screen
Voice Input

🚀 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!

Please refer the Contributors Guide Before you start Contributing.

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.

Our Contributors

Thank you for contributing to our repository

Contributors

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.

👥 Team

Yuvraj Singh
Yuvraj Singh
Project Admin
LinkedIn

For any inquiries or feedback, please contact. Happy Contributing 🫡

🙏 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