This is an Android shopping application built using Android Jetpack Compose with a Firebase backend. The app follows the MVVM (Model-View-ViewModel) architecture and has a minimum supported Android version of Android 10.
- User authentication: The app allows users to create accounts, log in, and log out using Firebase Authentication.
- Product listing: Users can view a list of products available for purchase.
- Product details: Users can view detailed information about a specific product, including its price, description, and availability.
- Shopping cart: Users can add products to their shopping cart and view the items they have selected for purchase.
- Order placement: Users can place orders for the items in their shopping cart and receive confirmation of their purchase.
- Order history: Users can view their order history, including details of past purchases.
- Real-time updates: The app leverages Firebase Realtime Database or Firestore to provide real-time updates for product availability and order status.
Before running the app, make sure you have the following:
- Android Studio Flamingo 2022.2.1 or later.
- Android SDK with a minimum API level of 29 (Android 10).
- A Firebase project with the following enabled:
- Authentication: Enable Email/Password and Google sign-in methods in the Firebase Authentication section.
- Firestore: Set up Firestore in Native mode for database storage.
- Storage: Enable Firebase Storage for storing user and product-related files (Have to upgrade your plan now to enable this option).
- Google services JSON file (google-services.json) placed in the app module.
- Clone the repository: git clone https://github.com/Kawaki22/ShopKart.git Or Download the Zip file
- Open the project in Android Studio.
- Create a Firebase project and configure Firestore or Realtime Database.
- Add your google-services.json file from your firebase console to the app module.
- Enable Email/Password and Google sign-in method from Authentication section in firebase.
- Add your Google Web Client Id in ShopKartUtils for Google Sign In to work.
This app has 3 types of logins
- Users
- Admin
- Employee
Create an admin account from firebase console in the format admin.example@gmail.com
The project uses the following dependencies:
- Jetpack Compose: A modern UI toolkit for building native Android apps.
- Firebase: Provides backend services for authentication, real-time updates, and database storage.
- Coroutines: Provides asynchronous programming capabilities.
- ViewModel: Part of the Jetpack library that provides a lifecycle-aware container for UI-related data.
- Navigation: Handles navigation between different screens and features in the app.
- Hilt: Used for dependency injection.
For a complete list of dependencies, refer to the build.gradle file in the app module.
The project is licensed under the GPLv3 License. See the LICENSE file for more information.
- The Android Jetpack Compose team for their excellent work on the framework.
- The Firebase team for providing a powerful backend infrastructure.
⭐ If you like this project or find it useful, please give it a star! It helps to support my work and encourages me to create more. 😊