Skip to content

(Back End) - Complete MERN stack store that allows you to add items to a cart, checkout through PayPal Sandbox's mock payment processor, and log in to get discounted prices.

License

Notifications You must be signed in to change notification settings

PhilipBDev/Forget-Me-Not-Apothecary---Server

Repository files navigation

Forget-Me-Not Apothecary - Server

View Client Repository

Due to the server running on a free tier of Heroku, please allow roughly 30 seconds for the website to display properly.


View Demo · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Roadmap
  4. License
  5. Contact
  6. Resources

About The Project

This fullstack application features a functional store environment that allows you to create an account and place an order through PayPal Sandbox (you will need a PayPal Sandbox account as well or the transaction will not go through). After completing the transaction, the website will take you to an order confirmed page then redirect you back to the home page with an empty cart.

Users can add items to cart, adjust the cart as needed (which automatically updates the subtotal), go through the mock PayPal process, and upon completion of the order they will be directed to an order confirmed page that will automatically redirect the user back to the home page.

The user system is in place to see if I could make all prices discounted upon logging in to mimic a membership-oriented store. All prices get set to 10% lower (plus 1 cent to make it nicer to look at) upon registration or logging in.

Trying to figure out how to connect Redux and Paypal Sandbox together was the most challenging part since I knew nothing about them going in. To be honest, I'd need a refresher if I were to use Redux again, but I've got the gist of it so it'll be much easier to figure out next time. Another issue I faced was figuring out how to make the front end talk to the back end from Netlify to Heroku, which involved purchasing a domain name and routing both through Cloudflare.

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Installation

  1. Clone the repo

    git clone https://github.com/PhilipBDev/Forget-Me-Not-Apothecary---Server.git
  2. Install NPM packages

    npm install
  3. Create an ENV file with the following attributes using your own keys from MongoDB Atlas, PayPal Sandbox, and your own JWT Secret string:

     PORT=5000
     MDB_CONNECT_STRING=
     JWT_SECRET=
     PAYPAL=

Roadmap

See the open issues for a list of proposed features (and known issues).

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Your Name - @PhilipBDev - PhilipBDev@gmail.com

Project Link: https://github.com/PhilipBDev/Forget-Me-Not-Apothecary---Server

Resources

About

(Back End) - Complete MERN stack store that allows you to add items to a cart, checkout through PayPal Sandbox's mock payment processor, and log in to get discounted prices.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published