0804EshitaSharma / e-commerce-app

0 stars 1 forks source link

About Our E-Commerce App

Discover the joy of online shopping with our user-friendly E-Commerce app. Browse products, add them to your wishlist or shopping cart, share them with your friends, breeze through checkout, and let admins effortlessly manage the store. Welcome to our app where shopping is a delightful enchantment for all.

Project Task Requirements:

  1. Minimal Requirements

    a. A dashboard with a search bar with product filters ✅

    b. View selected product details ✅

    c. Add product to shopping cart ✅

    d. Products checkout page ✅

    e. User Authentication with password assistance ✅

  2. Standard Requirements

    a. User Account page ✅

    b. View past orders ✅

    c. Add products to wishlists ✅

    d. An option to share products with friends ✅

    e. Add product ratings ✅

    f. Email notifications on product purchase ✅

  3. Stretch Requirements

    a. Show user's recently viewed products ❌

    b. Add reviews to a product/see past reviews ✅

    c. An option to return an order ✅

    d. Functionality to create seller/admin accounts ✅

    f. Allow seller/admin to post, delete, and update products ✅

Tech Stack

  1. HTML, CSS, JS
  1. React & Redux

    • React and Redux are used throughout this project to create a robust and maintainable frontend architecture. Compared to standard HTML, our project utilized React components, which efficiently manage the application's UI rendering, promoting code reusability and readability.
    • Redux is integrated into our project to manage a global state, ensuring seamless data flow and facilitating efficient state management across components.
  2. Node & Express

    • This project utilized Node.js and Express.js to enhance the backend architecture of our web application. Node.js ensures our server can handle multiple connections simultaneously, making our project scalable and high performance.
  1. MongoDB

    • Databases are designed for long term, permanent storage of data and we use the MongoDB database to store our user, products and orders information.With its scalable schema design, this project is able to maintain a well-defined data structure while optimizing query performance.
    • With MongoDB, it allows for more flexible information storage as some fields are not always necessary in a document and makes for easy changes in schema if needed.
    • Moreover, it allows for multiple servers to be connected to it, which creates high availability and while we do not yet have multiple servers connected to our application, it can be an improvement we would want to implement in the future for the application.
  2. Builds and Deployment

Above and Beyond Functionality

  1. Firebase's seamless user authentication and password reset feature
  1. Order Confirmation Emails using Sendgrid API
  1. Use of various React Libraries
  1. Share products on Social Media
  1. Google Places Autocomplete API
    • This application uses the google places autocomplete API in pages like checkout and user profile. With the use of places autocomplete, this app can detect user input and generate address recommendations accordingly.
    • Combobox library is used along with google places autocomplete to display the address search bar along with the recommendations dropdown.

Next Steps

We have successfully fulfilled nearly all project requirements, with the exception of the 'Show Recently Viewed Products' feature, which remains pending. Completing this goal would further enhance the app's overall functionality.

During our discussions, we also explored additional potential features to enrich the shopping site's capabilities. These exciting prospects can add depth and sophistication to our platform, including

List of Contributions

Arshdeep Jassi

Danielle Chen

Elsie Lee - Shopping Cart/Order History

Eshita Sharma

  1. Top Navbar:

    • Navbar component with search, user-account, shopping cart, and wishlist icons.
  2. User Authentication with password assistance:

    • User login/sign-up forms with validations and integrated the Firebase API to support user login/logout and password reset features.
  3. User Account page:

    • Integrated user information with Redux and MongoDB.
    • User profile page displaying user information and offering the ability to update profile information like updating mobile number,adding address etc.
  4. Sharing Product and Order Confirmation Email:

    • An option to Email or Post a message on Facebook to share products with friends.
    • Email notifications on product purchase using SendGrid API.
    • An option to return an existing order.
  5. Admin View:

    • An admin view that permits the admin to add new products, update and delete existing ones from MongoDB database.
    • Added Toast notifications and responsiveness to our website.

Florence Situ

Project Group Information

Project Description:

Our project is an online store called E-Commerce-App, which is designed for customers to make online purchases, especially for those who are looking for convenience and favor online shops over traditional brick-and-mortar stores because of their comfort. It will store data such as product details and user information, so that the consumers can log in to their own accounts and have access to a variety of online purchasing features and services. It also supports the users to read descriptions, view photographs of the products, and check user reviews as they explore through comprehensive product lists. It includes products from a variety of categories, including electronics, apparel, household items, and more, which can be searched for by users. We are also considering functionalities such as creating the seller side of accounts and pages depending on the time constraints.

Prototypes

These are our prototypes for the two requirements with task breakdowns mentioned above: