Skip to content

gloriousLoaf/CartMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

81 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Cartโ€ขMe

A Full Stack Ecommerce Site.

GitHub language count GitHub top language

Table of Contents

ย 

Get straight to the business? Visit CartMe

PayPal Sandbox - Since this is a demo, please use the following dummy PayPal account at checkout:

CartMe Login - Real cool, but not a real store.

  • You may create your own CartMe login with whatever details you care to use, fake or real.
  • I will never share or distribute any personal information you provide to CartMe.
  • A lot of functionality can be tested without a login, but not checkout.

ย 

๐Ÿ“ Description

CartMe is a MERN full stack ecommerce website. This web store was built to demonstrate the strength, security and scalability of this tech stack. With React, Redux and CSS libraries, this app can be quickly modified to offer a completely different or customized UI while remaining a clear and user-friendly UX.

ย 

๐Ÿ˜ƒ User Story

AS A busy person who needs to shop for supplies during the pandemic,
I WANT to visit an easy-to-use website,
SO THAT I can quickly checkout with PayPal and move on with life!

ย 

๐Ÿ’พ Installation

To start your own instance, clone this repository and run npm install from the root directory. Then cd client and run another install to complete the dependencies. The /frontend/package.json contains a preinstall script to run npm-force-resolutions to address a few critical security issues in the dependencies. This may need to be adjusted in time. See this block in that package.json and adjust as needed:

  "resolutions": {
    "package-name": "^2.0.1"
  },

I built this app to store data using MongoDB Atlas cloud hosting. Please see their docs for information regarding setting up a cluster for this app. You will need to create a .env file and save your MONGO_URI to the file. Authorizing users relies on tokens from node package jsonwebtoken. When setting up tokens, remember to drop your JWT_SECRET into the .env. Lastly, the checkout process utilizes PayPal's Developer sandbox. Login with your PayPal account, navigate to that URL and select My Apps & Credentials from the Dashboard to create a sandbox app. Their docs are thorough, dig in.
To develop and run the app:

  • Local Instance: To test and develop locally, open a Node enabled terminal window, navigate to the root directory and run npm run dev to start the servers listening and connect to MongoDB. Unless altered, all data will hit your cloud database by default. This script tells npm Concurrently to start both servers listening at ports 3000 and 5000 respectively. Launch your browser, navigate to localhost:3000 and begin using Me!
  • Web Instance: Connect your MongoDB cloud cluster to you preferred cloud platform for website hosting. I used Render to deploy this app, go here to checkout ๐Ÿ‘‰ CartMe in action.

ย 

๐Ÿ“ฒ Usage

Users start their experience at the landing page, where products are available to view and review. They may browser by navigating around the site, or they can use the search box to find what they are looking for. Users may place items in their cart or remove them. In order to checkout, the user will have to create and account which automatically logs them in. The checkout process asks for a shipping address if the user has not already saved one, then their order can be placed. Afterwards, the user can make use of the PayPal button, connected to a sandbox API.

Admins can do everything that Users can, as well as view and perform CRUD with products including image uploading with multer, view and update user data (not passwords), and view and mark orders as shipped.

ย 

๐Ÿ“ท Images

Cart Me brand

ย 

Shopping cart screen at CartMe website

ย 

๐Ÿ”ฎ Future Development

  • More Payment Methods Stripe etc.
  • More Login Methods Google, Facebook, Twitter etc.
  • More Search Methods Search by brand, category, keyword tags.
  • UI Improvements It looks nice now, but could be more eye catching.

ย 

๐Ÿ“œ License

MIT โ€ข (If you fork and recreate this, please be kind and rebrand your version!)

ย 

๐Ÿ”จ Tools

ย 

โ” Questions?

GitHub Profile Pic

ย 


This markdown was created with Readme Generator

About

A full stack e-commerce website, ๐Ÿ›’

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published