Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/anikethsaha/mern

:tada: This is boilerplate for MERN stack with integrations like Redux and SSR :tada:
https://github.com/anikethsaha/mern

boilerplate expressjs mern mongodb nodejs reactjs redux server-side-rendering ssr webpack

Last synced: 19 days ago
JSON representation

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

Awesome Lists containing this project

README

        

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](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/mern-gq5eb?fontsize=14)
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://evening-woodland-07645.herokuapp.com/#/)

## Table of Contents

- [Getting Started](#getting-started)
- [Configurations](#configs-for-addons-v1)
- [`mern.json`](#mernjson)
- [Starting development setup](#starting-development-setup)
- [Using CWA](#you-can-also-add-this-using-this-package)
- [Start Editing](#start-editing)
- [technology](#technology)
- [Features](#features)
- [addons using `mern.json`](#addons-using-mernjson)
- [license](#license)
- [contributors](#contributors)

## Support

Buy Me A Coffee

## Getting Started

- **Clone the project**

- **Install the Dependencies**

```bash
$ npm i
```

- **Run the server**

```bash
$ 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

```json
{
"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**

```bash
$ npm run watch
```

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

- **For running the production server**

```bash
$ npm run server:prod
```

### You can Also add this using [This Package](https://www.npmjs.com/package/@buildtip/create-web-app)

```bash
$ 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

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

## addons using `mern.json`

- [x] State Management
- Redux
- [x] Styling
- styled-components (css-in-js)

## todo - addons

- `state-manager`
- [ ] Mobx
- [ ] Context API
- `styles`

- [ ] emotion
- [ ] postcss support (css modules, cssnano)
- [x] css modules (using webpack)
- [ ] linaria
- [ ] aphrodite

## [LICENSE](https://github.com/anikethsaha/MERN-Boilerplate/blob/master/LICENSE)

## Contributors

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/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](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!