Skip to content

Shopkaro is an e-commerce app that utilizes modern Android technologies, including Jetpack Compose, MVVM architecture, Retrofit, and Hilt. The app allows users to authenticate, view products, add them to the cart, and place orders using Firebase Authentication and Firebase Realtime Database. The app fetches product data from the Fakestore API.

Notifications You must be signed in to change notification settings

devAchint/ShopKaro

Repository files navigation

ShopKaro

Shopkaro is an e-commerce app that utilizes modern Android technologies, including Jetpack Compose, MVVM architecture, Retrofit, and Hilt. The app allows users to authenticate, view products, add them to the cart, and place orders using Firebase Authentication and Firebase Realtime Database. The products are fetched from the Fakestore API.

Features

  1. Authentication using Firebase Authentication with email and password.
  2. Dependency injection with Hilt.
  3. Fetches products using the Fakestore API.
  4. Users can add products to the cart, which is stored in Firebase Realtime Database.
  5. Users can place orders by adding shipping details and choosing a payment method.
  6. Utilizes nested navigation and a bottom bar.
  7. Fully created with Jetpack Compose.

Screenshot

login signup home
product detail cart payment
order placed profiile order detail

Package Structure

  • data: Responsible for producing data. Contains API, repository, and model classes.
  • di: Hilt modules.
  • ui: UI layer of the app.
    • nav: Contains app navigation and destinations.
    • screens: Contains UI components.
    • theme: Material3 theme.
  • utils: Utility classes used across the app.

Build With

Kotlin: As the programming language.

Jetpack Compose : To build UI.

Jetpack Navigation : For navigation between screens.

Retrofit: Used for making network requests to fetch product data from the Fakestore API.

Hilt : For injecting dependencies.

Coil : To load image asynchronously.

Navigation structure

This app uses a nested navigation structure with multiple NavGraphs to manage different sections of the app efficiently. Each section, such as authentication, product listing, and order management, has its own NavGraph, allowing for clear separation of concerns and modular navigation flows.

If you have any suggestions for improving this navigation structure or would like to contribute, feel free to share your ideas.

Screenshot 2024-08-31 204803

Installation

Simple clone this app and open in Android Studio.

Firebase Integration

Follow these steps to link Firebase to this app for authentication and storing cart and order data using Realtime Database:

  1. Set up Firebase in your project by following the official Firebase setup guide.
  2. Download the google-services.json file from your Firebase project.
  3. Place the google-services.json file in the app/ directory of your project.

About

Shopkaro is an e-commerce app that utilizes modern Android technologies, including Jetpack Compose, MVVM architecture, Retrofit, and Hilt. The app allows users to authenticate, view products, add them to the cart, and place orders using Firebase Authentication and Firebase Realtime Database. The app fetches product data from the Fakestore API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages