/Jugaad-Junction

An fully function e-commerce app with admin panel. Frontend built with Flutter and Backend is handled by Nodejs

Primary LanguageDart

Jugaad Junction

Welcome to our fully functional e-commerce app with an admin panel! This project leverages a variety of technologies to provide a seamless shopping experience, complete with features for both users and administrators.

GitHub Repo: https://github.com/dhirajmishra98/Jugaad-Junction
PPT: View Project Presentation in Canva
Report: Jugaad Junction Report

License: MIT

Table of Contents

Installation

To get started with Jugaad-Junction, an E-Commerce App with an Admin Panel, follow these steps:

  1. Clone the repository:

    git clone https://github.com/dhirajmishra98/Jugaad-Junction
    
  2. Navigate to the project directory:

    cd Jugaad-Junction
    
  3. Install the necessary dependencies:

    flutter pub get
    
  4. Set up Environmental variables

    • create .env.apikeys file at root of project
    • setup key-value pair that's used by dotenv package for environment variable. Below is the example
    cloudName = dxxxxd
    uploadPreset = ixxxxe
    hosted = hosted URL or http://ip_address:3000 
    
  5. Setup backend:

    • read instruction from /server folder for backend setup
  6. Run the app on your preferred device

    • make sure your machine and device running on the same network
    flutter run
    

Demo

jugaad junction preview

lv_0_20231029105110.mp4

Technologies

  • Flutter
  • JavaScript
  • Node.js
  • MongoDB
  • Express
  • Mongoose

Features

Our e-commerce app offers a range of features to enhance the shopping experience:

  • Authentication: Users can sign/sign up using their email and password.
  • Shopping Cart: Add and manage products in the shopping cart.
  • Product Search: Easily find products using the search functionality.
  • Category-based Product Fetching: Browse and filter products by category.
  • Product Ratings: View and contribute product ratings.
  • Deal of the Day: Discover daily special deals based on rating.
  • Secure Checkout: Conveniently complete your purchases using GPay or Apple Pay.

Admin

In addition to the features for users, our app comes with a powerful admin panel that allows administrators to manage the platform effectively. Some key functionalities of the admin panel include:

  • Product Management: Add or delete products.
  • Sales Analytics: Admins can see sales analytics product category-wise.
  • Order Management: Monitor and manage user orders.

Usage

User Workflow

  1. Registration and Login:

    • Launch the app and create a new account or log in with your existing credentials.
  2. Browsing and Shopping:

    • Browse the product catalog to find items you want to purchase.
    • Click on a product to view more details, including ratings.
    • Add products to your cart by clicking "Add to Cart."
  3. Managing the Cart:

    • Access your shopping cart to review and modify items.
    • Update the quantity or remove items.
  4. Search and Filters:

    • Utilize the search functionality to find specific products.
  5. Checkout:

    • Review the items in your cart.
    • Proceed to the checkout process, where you can confirm your address details.
    • Choose your preferred payment method, including GPay or Apple Pay, for a secure and convenient transaction.

Admin Workflow

  1. Admin Login:

    • Access the admin panel by logging in with admin credentials.
  2. Product Management:

    • Add new products by providing product details.
    • Delete products that are no longer available.
  3. Order Management:

    • Monitor and manage user orders, including order status updates.

Diagrams

Contributing

We welcome contributions from the open-source community. If you'd like to contribute, please follow these instructions:

  1. Fork this repository.

  2. Create a new branch for your feature or bug fix.

  3. Make your changes and ensure the code follows our coding standards.

  4. Test your changes thoroughly.

  5. Commit your changes with a descriptive commit message.

  6. Push your changes to your fork:

  7. Open a pull request (PR) to the main branch of this repository. Ensure the PR description explains your changes and their purpose.

  8. Your PR will be reviewed by the project maintainers. Make any necessary updates based on their feedback.

  9. Once approved, your changes will be merged into the main repository.

Support

If you encounter any issues or have questions, please feel free to create an issue.

Happy Shopping! 🛒🛍️