🍯 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.
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!
- Supports local authentication and registration
- User and Administrator protected routes
- Forum
- Text Messaging
- Emailing
- Payments
- Rich Text Editor
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.
💻 NPM (Node Package Manager) - https://www.npmjs.com/
💾 Mongo DB (Mongo DB) - https://www.mongodb.com/
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).
📱 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
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)