/mern

:tada: This is boilerplate for MERN stack with integrations like Redux and SSR :tada:

Primary LanguageJavaScriptMIT LicenseMIT

efba logo

MERN-BoilerPlate

badgeprs contributors netlify Coverage Status badgeprs badgeprs badgeprs

This is boilerplate for MERN stack with integrations like Redux and SSR



Edit MERN Deploy

Table of Contents

Support

Buy Me A Coffee

Getting Started

  • Clone the project

  • Install the Dependencies

$ npm i
  • Run the server
$ npm run server:dev

configs for addons v1

You can add addons for this project by simply editing the mern.json and then running npm run develop

mern.json

  • default options
{
	"styles": "none",
	"stateManager": "none"
}
  • For adding styles

    • "styles": "styled-components" for styled-components
    • "styles": "css-modules" for css-modules using webpack
  • For adding state manager

    • "stateManager": "redux" for redux store

Run npm run develop or yarn develop after changing mern.json

You can check the scripts folder for the implementation of these. Can even add your own addons. Try to replicat how the other addons are build Soon gonna add plugin system in this project, then it will be much simpler to create own plugins which can do different stuffs like SSR with store injections, managing webpack.config.js. That will be the main feature for v2

More addons are coming soon.

these addons should be added before you start editing or working on this project

Starting development setup

  • Run the webpack server
$ npm run watch

and, start making changes in src/client and src/server folders.

  • For running the production server
$ npm run server:prod

You can Also add this using This Package

$ npm i -g @buildtip/create-web-app
$ cwa

And then on question no. 4 that is Please Select Project Stack [ Required ] : Type: 1

Start Editing

Look for the config/index.js for making changes in the configs of the project

  • Edit the src/client/index.js to make changes for client

  • Edit the src/server/index.js to make changes in the server

technology

  • NodeJS - Server
  • ExpressJS - Nodejs framework
  • MongoDB - Database
  • ReactJS - Frontend
  • Redux - State Management
  • Docker - Containerization and image
  • Eslint - Linter
  • Webpack - Bundler
  • Babel - Loader and Compiler/Transpiler
  • Jest - Testing Framework

Features

  • Server Side Rendering
  • Image for Container
  • Routing
  • Model Controller Project Structure
  • Build Pipelines
  • Tests
  • Examples (live in codesandbox)

addons using mern.json

  • State Management
    • Redux
  • Styling
    • styled-components (css-in-js)

todo - addons

  • state-manager

    • Mobx
    • Context API
  • styles

    • emotion
    • postcss support (css modules, cssnano)
    • css modules (using webpack)
    • linaria
    • aphrodite

Contributors

Thanks goes to these wonderful people (emoji key):

Anix
Anix

🚇 ⚠️ 🤔 🚧 🎨 💻
przemwierzbicki
przemwierzbicki

🚇 ⚠️ 💻
Anmol Varma
Anmol Varma

🚇 ⚠️
Fasoro-Joseph Alexander
Fasoro-Joseph Alexander

🚇 ⚠️
Yash Pahalajani
Yash Pahalajani

🚇 💻 📖 🐛
GT Deng
GT Deng

🚇
wincentrtz
wincentrtz

💻
elsonlim
elsonlim

⚠️
jeffin sam
jeffin sam

🚇 🐛 💻

This project follows the all-contributors specification. Contributions of any kind welcome!