Overview
The MERN Boilerplate is a full MERN stack boilerplate for web apps. It includes MongoDB, Express.js, React.js, and Node.js. The boilerplate comes with a local authentication system using passport. Users are able to create a simple profile with their full name and profile picture. They can also reset their password and change their username case.
Features
- Full MERN Stack: The boilerplate includes MongoDB, Express.js, React.js, and Node.js, allowing for the development of full-stack web applications.
- Local Authentication System: Users can create accounts and login using a local authentication system implemented with passport.
- User Profiles: The boilerplate provides users with a simple profile that includes their full name and profile picture.
- Password Reset: Users have the ability to reset their passwords if needed.
- Separate Client and Server Projects: For those who prefer to separate the client and server into separate projects, there are two additional repositories available for the MERN Client and MERN Server.
Installation
To get started with the MERN Boilerplate, follow these steps:
Make sure you have the following requirements:
- Operating System: MacOS or Linux
- Node.js (recommended to install with NVM)
- Homebrew (to install MongoDB)
Clone the MERN Boilerplate repository.
Setup the database:
- Start MongoDB by running the command
brew services start mongodb.
- Start MongoDB by running the command
Start the client:
- Navigate to the client folder in the MERN Boilerplate directory.
- Install the client dependencies by running
npm install. - Start the client by running
npm start.
Start the server:
- Navigate to the server folder in the MERN Boilerplate directory.
- Install the server dependencies by running
npm install. - Start the server by running
npm start.
Summary
The MERN Boilerplate is a comprehensive boilerplate for web applications using the MERN stack. It provides a local authentication system, user profiles, and the ability to reset passwords. The boilerplate also offers the option to separate the client and server into separate projects. With features like webpack, Babel, and ESLint, it allows for efficient and high-quality development.