Skip to content

Latest commit

 

History

History
90 lines (68 loc) · 3.13 KB

readme.md

File metadata and controls

90 lines (68 loc) · 3.13 KB

    MEANR (Mongo Express Axios Node React)

Overview

🍯 MEANR is a full stack boiler template for Mongo, Express, Axios, Node, and React intended to aide developers looking to get their app off the ground in a hurry with an easy to use framework for accomplishing common tasks, such as Role Configured Authentication, Payment, Emailing, Forum, and Text Messaging. There will be other packages included in later versions.

Demo

Here you can find a demonstration of MEANR: https://meanr.herokuapp.com/

To test out the admin capabilities, use the following credentials:

Username: testadmin
Password: Meanr2020!

To test out the user capabilities, use the following credentials:

Username: testuser
Password: Meanr2020!

Features

  • Supports local authentication and registration
  • User and Administrator protected routes
  • Forum
  • Text Messaging
  • Emailing
  • Payments
  • Rich Text Editor

Installation

Clone this repository then run the command npm i. This will install all the dependencies. Then proceed to create the environment variables with those stated below, for both the client side, and server side. You will need to sign up for the services to obtain most of the environment variables. Afterwards, run the command "npm run seed", this will install the necessary DB.

Requirements


💻 NPM (Node Package Manager) - https://www.npmjs.com/

💾 Mongo DB (Mongo DB) - https://www.mongodb.com/

Enviornment Variables

You will need to create a .env file for the Server side as well as the Client side. Some of these features will need accounts setup such as STRIPE (Payments), or TWILIO (Text Messaging).

API Services Required


📱 TWILIO (Text Messaging) - https://www.twilio.com/

💳 STRIPE (Payments) - https://stripe.com/

📧 SENDGRID (Email) - https://sendgrid.com/

Server Side

  • TWILIO_ACCOUNT_SID
  • TWILIO_AUTH_TOKEN
  • TWILIO_PHONE_NUMBER
  • STRIPE_SECRET_KEY
  • MONGO_DB_NAME
  • SENDGRID_API_KEY
  • SENDGRID_SENDER
  • PASSPORT_SESSION_SECRET

Client Side

  • REACT_APP_STRIPE_PUBLISHABLE_KEY

Dependencies (Reference package.json for up to date dependencies)

  • Redux (Removed in favor of using Context Providers and useContext)
  • Express (Server)
  • Mongo (Server)
  • Mongoose (Server)
  • Axios (Client)
  • React (Client)
  • React-Router-DOM (Client)
  • Nodemon (Server)
  • Concurrently (Server)
  • Passport (Server)
  • BcryptJS (Server)
  • Helmet (Server)
  • Twilio (Server)
  • Cors (Server)
  • Dotenv (Server)
  • Nodemailer (Switched to Sendgrid)
  • Body-parser (Server)
  • Stripe (Server)
  • React Stripe Checkout (Client)
  • UUID (Server)
  • react-quill (Client)
  • html-react-parser (Client)
  • Sendgrid (Server)
  • Socket.io (Server)