GithubHelp home page GithubHelp logo

amazon's Introduction

Amazon

MERN Ecommerce-Application

Table of contents

Introduction

A virtual ecommerce website using React, Node js, Express js, and Mongoose.

NOTE: Please read the RUN section before opening an issue.

Demo

The website resembles a real store and you can add products to your cart and pay for them. If you want to try the checkout process, you can use the dummy card number with any expiration date, CVC, and zip codes. Please DO NOT provide real card number and data.

In order to access the admin panel on "/admin"

Run

  • MONGO_URI: this is the connection string of your MongoDB database.

Now you can run "npm start" in the terminal and the application should work.

Technology

The application is built with:

  • React version 17.0.2
  • Node.js version 12.16.3
  • Mongoose version 6.1.8
  • Firebase version 9.6.6
  • Express version 4.17.2
  • Bootstrap version 5.2.0

Features

The application displays an online store that contains products.

Users can do the following:

  • Create an account, login
  • Browse available products added by the admin
  • Add products to the shopping cart
  • Buy products, in order to proceed forward, a user must be logged in
  • Display the shopping cart
  • The profile contains all the orders a user has made

Admins can do the following:

  • Can manage orders, users, products.

Database

All the models can be found in the models directory created using mongoose.

User:

  • username (String)
  • password (String)

Product:

  • title (String)
  • imagePath (String)
  • description (String)
  • price (Number)
  • category (ObjectId - a reference to the category)
  • createdAt (Date)

Cart:

  • items: an array of objects, each object contains:
    ~ productId (ObjectId - a reference to the product)
    ~ qty (Number)
    ~ price (Number)
    ~ title (String)
  • totalQty (Number)
  • totalCost (Number)
  • user (ObjectId - a reference to the user)
  • createdAt

Payment:

  • Cash On Delivery
  • Online Payment(Paypal Payment Gateway)

Order:

  • user (ObjectId - a reference to the user)
  • cart (instead of a reference, we had to structure an object identical to the cart)
  • address (String)
  • paymentId (String)
  • createdAt (Date)
  • Delivered (Boolean)

Alan Chris Antony

amazon's People

Contributors

alanchrissantony avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.