Skip to content

Sharekhan Submission Manan Kabra KJSCE 16010421041 #53

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

MananKabra
Copy link


Flutter Firebase GetX - (Sheru)

Welcome to the Sheru, Your Own Ecommerce Platform! This application is made on top of the give code structure using flutter-firebase-getx. The flow and structure is maintained throught the app, keeping buyer and seller flow separate (buyer cannot sell products and hence product add/edit page not available for buyer) . For better experience and web capabilities, the admin part is made seperately as an admin panel that can be used for controlling the app.

Screenshot_3 Screenshot_1

Screenshot_2 Screenshot_7

Screenshot_8 Screenshot_6

Screenshot_5 Screenshot_4

Screenshot_14 Screenshot_13

Screenshot_9 Screenshot_10

Screenshot_11 Screenshot_12

Getting Started

1. Add the Android Folder

If your project doesn't already include an android folder, you can generate it by running the following command in your main project directory:

flutter create .

2. Firebase Setup

To fully leverage Firebase features within your app, you’ll need to configure Firebase. Choose one of the following methods:

Option A: Add firebase.json File

  1. Download the firebase.json configuration file from the Firebase Console.
  2. Place the file in the root directory of your project.
  3. Alternatively, you can use the Firebase CLI to configure Firebase.

Option B: Use Firebase Emulator

Set up the Firebase Emulator to simulate Firebase services locally:

  1. Install the Firebase CLI if you haven't already:

    npm install -g firebase-tools
  2. Initialize Firebase in your project:

    firebase init
  3. Start the Firebase Emulator with Initial Data:

    firebase emulators:start --import=./emulator-data

3. OTP Verification and Notifications

image
image

This app integrates OTP verification and real-time notifications using Firebase Authentication and Firebase Functions. These features are also supported when running the app with Firebase Emulators.

OTP Verification:

  • Simulate OTP Verification: With the Firebase Auth Emulator, you can test the OTP verification process without needing an actual phone number. This helps in testing the entire user authentication flow during development.

Notifications:

  • Real-time Notifications: Firebase Functions, in conjunction with the Firebase Emulator, allow you to trigger notifications for various events (e.g., order status updates). This enables you to develop and test notification workflows without interacting with the live Firebase environment.

4. App Code Structure and Completed Features

The app's code structure follows a modular approach, with separate directories for different features and user flows. The following features have been implemented:

  • Home Screen:

    • Banners: Display promotional banners at the top of the screen.
    • Product Listings: Showcase various products across different categories.
    • Categories Listing: Provide users with an easy way to browse products by categories.
  • Cart Flow:

    • Checkout: Complete the checkout process with selected items.
    • Address Selection: Users can select or add a new address during checkout.
    • Payment Method Selection: Multiple payment methods are supported for a seamless checkout experience.
  • Past Orders: View a history of past orders, allowing users to track their previous purchases.

  • Profile Section: Manage user profile details, including personal information and settings.

  • Seller Section: For users with a seller account, an additional section allows them to add or edit their products, enabling them to manage their listings directly within the app.


Flutter Firebase E-Commerce Admin Panel

Welcome to the Flutter Firebase E-Commerce Admin Panel! This admin panel is designed to provide seamless control over the e-commerce platform, enabling administrators to manage products, sellers, coupons, banners, and more.

Features Overview

1. Special Product Management

  • Upload Special Products: Administrators can upload exclusive products directly from the admin panel. These products will be highlighted on the platform for special promotions or featured categories.

2. Seller Product Approval

  • Approve Seller Products: Review and approve products submitted by sellers before they appear on the platform. This ensures quality control and adherence to platform guidelines.

3. Coupon and Banner Management

  • Add Coupons: Create and manage discount coupons to offer special deals and promotions to customers.
  • Add Banners: Upload and manage promotional banners that will be displayed throughout the app. Banners can be used to highlight special events, sales, or new arrivals.

4. App Management

  • Comprehensive Control: The admin panel offers full control over various aspects of the app, allowing administrators to ensure the smooth operation of the platform.

5. Export Data as CSV

  • Admin CSV Export: Easily export product, seller, or order data as CSV files for analysis or reporting purposes. This feature enables administrators to keep records and perform data-driven decisions.

Approval Process Explanation

The approval process within the admin panel is critical for maintaining the quality and integrity of the e-commerce platform. When sellers submit new products, these products must first be reviewed by an administrator. Only after approval are the products listed on the platform for customers to purchase. This step ensures that all products meet the platform's standards, helping to maintain a high-quality shopping experience for users.

Screenshots

Here's a visual overview of the admin panel features:

Admin Dashboard Product Management

Seller Approvals Coupon Management

Banner Management Data Export

Getting Started

1. Prerequisites

  • Ensure that the main e-commerce app is set up and configured with Firebase.
  • The admin panel should have the appropriate Firebase configurations (e.g., firebase.json) in place to interact with the backend.

2. Installation

  1. Navigate to the project directory:

    cd admin_panel_directory
  2. Install the required dependencies:

    flutter pub get

3. Running the Admin Panel

To start the admin panel, run the following command:

flutter run --web-renderer html

Usage

  • Special Products: Use the "Special Products" section to add new items that will be featured on the platform.
  • Seller Approvals: Navigate to the "Seller Approvals" section

to review and approve products submitted by third-party sellers.

  • Coupons and Banners: Access the "Coupons" and "Banners" sections to create and manage promotional content.
  • Export as CSV: In the admin panel, locate the export functionality to download relevant data as CSV files for offline analysis and reporting.

Submission Details

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant