maryamaljanabi / bestbags-nodejs-ecommerce

A responsive ecommerce website using Node js, Express js, and MongoDB
318 stars 206 forks source link
bootstrap4 ecommerce-website expressjs mongodb mongoose nodejs online-store shopping-cart stripe

BestBags

Table of contents

Introduction

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

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

Demo

screenshot

The application is deployed to Heroku and can be accessed through the following link:

BestBags on Heroku

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 provided by stripe for testing which is 4242 4242 4242 4242 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" you need to provide the admin email and password.

Run

To run this application, you have to set your own environmental variables. For security reasons, some variables have been hidden from view and used as environmental variables with the help of dotenv package. Below are the variables that you need to set in order to run the application:

After you've set these environmental variables in the .env file at the root of the project, you need to navigate to the "seedDB" folder and run "node category-seed.js" and "node products-seed.js" to fill your empty MongoDB Atlas database.

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

Technology

The application is built with:

Features

The application displays a virtual bags store that contains virtual products and contact information.

Users can do the following:

Admins can do the following:

Database

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

User Schema:

Category Schema:

Product Schema:

Cart Schema:

Order Schema:

Colors

Below is the color palette used in this application:

License

License