https://github.com/wardvisual/mern-ecommerce
https://github.com/wardvisual/mern-ecommerce
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/wardvisual/mern-ecommerce
- Owner: wardvisual
- License: mit
- Created: 2021-06-06T01:27:31.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-06-06T01:29:33.000Z (about 5 years ago)
- Last Synced: 2025-02-07T13:44:37.551Z (over 1 year ago)
- Language: JavaScript
- Size: 9.91 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MERN Ecommerce
## Description
An ecommerce store built with MERN stack, and utilizes third party API's. This ecommerce store enable three main different flows or implementations:
1. Buyers browse the store categories, products and brands
2. Sellers or Merchants manage their own brand component
3. Admins manage and control the entire store components
* features:
* Node provides the backend environment for this application
* Express middleware is used to handle requests, routes
* Mongoose schemas to model the application data
* React for displaying UI components
* Redux to manage application's state
* Redux Thunk middleware to handle asynchronous redux actions
## What's Next
* Add a payment method solution to enable checkout and collecting payments
* Associate each Merchant to a payment account
## Demo
This application is deployed on Heroku. Please check it out :smile: [here](https://mern-store-80202.herokuapp.com/).
## Install
Some basic Git commands are:
```
$ git clone https://github.com/mohamedsamara/mern-ecommerce.git
$ cd project
$ npm install
```
## Setup
```
Create .env file that include:
* MONGO_URI & JWT_SECRET
* PORT & BASE_SERVER_URL & BASE_API_URL & BASE_CLIENT_URL
* MAILCHIMP_KEY & MAILCHIMP_LIST_KEY => Mailchimp configuration
* MAILGUN_KEY & MAILGUN_DOMAIN & MAILGUN_EMAIL_SENDER => Mailgun configuration
* GOOGLE_CLIENT_ID & GOOGLE_CLIENT_SECRET & GOOGLE_CALLBACK_URL => Google Auth configuration
* FACEBOOK_CLIENT_ID & FACEBOOK_CLIENT_SECRET & FACEBOOK_CALLBACK_URL => Facebook Auth configuration
* AWS_ACCESS_KEY_ID & AWS_SECRET_ACCESS_KEY & AWS_REGION & AWS_BUCKET_NAME => AWS configuration
```
## Heroku Deployment
```
> Create a Procfile in the root directory of your application with the following command **web: npm run start:production**
```
## Simple build for production
```
$ npm run production
```
## Run the application for development
```
$ npm start
```
## Run the application for production
```
$ npm run start:production
```
## Languages & tools
- [Node](https://nodejs.org/en/)
- [Express](https://expressjs.com/)
- [Mongoose](https://mongoosejs.com/)
- [React](https://reactjs.org/)
- [Webpack](https://webpack.js.org/)
### Code Formatter
- Add a `.vscode` directory
- Create a file `settings.json` inside `.vscode`
- Install Prettier - Code formatter in VSCode
- Add the following snippet:
```json
{
"editor.formatOnSave": true,
"prettier.singleQuote": true,
"prettier.arrowParens": "avoid",
"prettier.jsxSingleQuote": true,
"prettier.trailingComma": "none",
"javascript.preferences.quoteStyle": "single",
}
```