Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jmsv/simple-mern
the simplest MERN (MongoDB, Express, React and Node) setup
https://github.com/jmsv/simple-mern
express hacktoberfest javascript mern mern-starters mongodb mongoose node nodejs react reactjs
Last synced: about 2 months ago
JSON representation
the simplest MERN (MongoDB, Express, React and Node) setup
- Host: GitHub
- URL: https://github.com/jmsv/simple-mern
- Owner: jmsv
- License: mit
- Created: 2019-09-06T16:34:25.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-01T16:16:12.000Z (almost 2 years ago)
- Last Synced: 2024-10-12T02:09:30.007Z (2 months ago)
- Topics: express, hacktoberfest, javascript, mern, mern-starters, mongodb, mongoose, node, nodejs, react, reactjs
- Language: JavaScript
- Homepage:
- Size: 298 KB
- Stars: 26
- Watchers: 3
- Forks: 22
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
the simplest MERN (MongoDB, Express, React and Node) setup## Why?
While there are many MERN starters on the interwebs already, I've struggled to find a 'minimal viable' MERN app. Existing examples usually involve other libraries and tools such as Redux, React Router, Typescript, Docker etc. These are all great things, but add unnecessary complexity when you just want to start simple.
This MERN starter, `simple-mern` aims to be the minimum you need to get started with the stack.
## Getting Started
### Development
1. Install MongoDB and run on default port `27017`
2. `npm install` in both root directory and `client` directory
3. `npm start` in both root directory and `client` directory
4. Head to [localhost:3000](http://localhost:3000) to see the 'My Tasks' app### Production
```bash
npm install
npm run build
npm run start:prod
```The production app will be running at [localhost:5000](http://localhost:5000/).
## Extend `simple-mern`
While this boilerplate was designed to be as minimal as possible, support for other tech could be added _in their own branches_.
### Current Extensions
- [`with-axios`](https://github.com/jmsv/simple-mern/tree/with-axios): Replaces Axios with fetch - [@leonlafa](https://github.com/leonlafa)
- [`with-react-router`](https://github.com/jmsv/simple-mern/tree/with-react-router): Adds React Router - [@leonlafa](https://github.com/leonlafa)
- [`with-material-ui`](https://github.com/jmsv/simple-mern/tree/with-material-ui): Adds Material UI - [@leonlafa](https://github.com/leonlafa)
- [`with-docker`](https://github.com/jmsv/simple-mern/tree/with-docker): Adds Docker & Docker Compose - [@alejandrotoga02](https://github.com/alejandrotoga02)
- [`with-redux`](https://github.com/jmsv/simple-mern/tree/with-redux): Adds Redux for state management - [@rahulSinha-01](https://github.com/rahulSinha-01)### Ideas for Future Extensions
- Replace JavaScript with TypeScript
- Multi-user setup with social auth (e.g. Google, Facebook etc. login using Passport)
- [Redux](https://redux.js.org) or [MobX](https://mobx.js.org) global state management for tasks
- Static site generator using [GatsbyJS](https://www.gatsbyjs.org/) or [Next.js](https://nextjs.org/)If you'd like to add support for any of the above or something else, please open an [issue](https://github.com/jmsv/simple-mern/issues) letting me know, and I'll create a new branch to base the PR against.