/react-ecommerce

🛒An E-commerce app built with MERN stack ❄

Primary LanguageJavaScriptMIT LicenseMIT

REACT E-commerce🛒

Description👨‍🏫

Built with MERN stack. Overall, the app offers the possibility to perform these actions:

  1. Merchants manage their own brand component
  2. Buyers browse the store categories, products and brands
  3. Administrators manage and control the entire store components
  • Features👨‍🔬
    some major features are:
    • Node provides the backend environment for the whole app
    • Express middleware is used to handle requests and routes
    • Mongoose schemas are use to model the application data
    • React for displaying User Interface components
    • Redux to manage application's state
    • Redux Thunk middleware to handle asynchronous redux actions
    • Webpack the module bundler. Optimize the weight of our source code and thus contribute to the good app performance
    • Chalk to beautify the console's response
    • Redux to manage application's state
    • Passport for authentication
    • AWS-SDK simplifies use of AWS Services by providing a set of libraries
    • Axios makes it easy to send asynchronous HTTP requests to REST endpoints and perform CRUD operations
    • Mobile-Detect will detect the device by comparing patterns against a given User-Agent string
    • Tsscmp prevents timing attacks using Brad Hill's Double HMAC pattern to perform secure string comparison

Visual📸

For E-Commerce

Installation💻

Some basic Git commands are:

$ git clone https://github.com/Walf-dev/react-ecommerce.git
$ cd project
$ npm install

Usage🥋

For anyone who wants to learn MERN stack by doing real projects.

Contributing🧤

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

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💡