Skip to content

Sartazz7/GoKart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoKart - Online Shopping Website

🌐 MERN Stack & Redux

MongoDB, Expressjs, Reactjs, Redux, Nodejs

Report Bug · Request Extension



Link to the deployed website

https://gokartapp-by-sartaj.herokuapp.com/

Features

  • JWT user authetication
  • Top products carousel
  • Update user profile (username, email, password)
  • Full featured shopping cart
  • User profile with order details (product description, price, availability status)
  • Checkout process (shipping, payment method, etc)
  • Track placed order
  • PayPal / credit card integration
  • Mark orders as delivered option
  • Database seeder (products & users)

One-stop solution for all your shopping problems amidst the pandemic, GoKart

About

Tech-Stacks used :

HTML 5 CSS3 Javascript Nodejs Reactjs Mangodb Redux PayPal

Frontend

In the frontend side, we have used React as the frontend library. We have used Redux for state management. We have also used React Bootstrap library for basic designing of the interface.

Backend

For the backend side, we have used the Express library on top of Nodejs. MongoDB is used as the NoSQL database to store our data as documents in JSON format. and mongoose to connect to our MongoDB database.

We have created REST APIs with Express and used these endpoints in the React frontend to interact with our backend part.

Usage (run fullstack app on your machine)

Prerequisites

ES Modules in Node

-We have used ECMAScript Modules in the backend in this project. Be sure to have at least Node v14.6+ or you will need to add the "--experimental-modules" flag. -Also, when importing a file (not a package), be sure to add .js at the end or you will get a "module not found" error -You can also install and setup Babel if you would like

Env Variables

Create a .env file in then root and add the following

NODE_ENV = development
PORT = 5000
MONGO_URI = your mongodb uri
JWT_SECRET = 'abc123'
PAYPAL_CLIENT_ID = your paypal client id

Install Dependencies (frontend & backend)

npm install
cd frontend
npm install

Run

# Run frontend (:3000) & backend (:5000)
npm run dev

# Run backend only
npm run server

Build & Deploy

# Create frontend prod build
cd frontend
npm run build

There is a Heroku postbuild script, so if you push to Heroku, no need to build manually for deployment to Heroku

Seed Database

You can use the following commands to seed the database with some sample users and products as well as destroy all data

# Import data
npm run data:import

# Destroy data
npm run data:destroy
Sample User Logins

sartaj@gmail.com (Admin)
123456

riyaz@gmail.com (Customer)
123456

saran@gmail.com (Customer)
123456

Feedback

If you have any feedback or suggestions please reach out.

Or you can create an issue and mention there , which new features can make this Project more good.



About

E-commerce Webapp

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages