- Notifications
You must be signed in to change notification settings - Fork95
A Full MERN Stack Boilerplate for Web Apps including a local authentication system. Uses React, Express.js, MongoDB, Redux, Passport.js, Webpack, Testing, and more.
License
djizco/mern-boilerplate
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
MongoDB Express.js React.js Node.js
A Full MERN Stack Boilerplate for Web Apps. Includes a local authentication system using passport. User is given a simple profile with Full Name and Profile Picture. User is also able to reset password and username case.
NEW: For those of you who wish to separate the client and server into separate projects, I have created two repos that do just that! Check outMERN Client andMERN Server.
- Operating System: MacOS or Linux
- Node.js (I recommend installing withNVM)
- Homebrew (to install MongoDB)
npm install# Install MongoDBbrew tap mongodb/brewbrew install mongodb-community
Start the database
brew services start mongodb-community
Start the client
npm run start:client
Start the server
npm run start:server
Or run client and server together
npm start
npm run buildnpm start:server
npm startnpmtestnpm run lintnpm run lint:fixnpm run test:verbosenpm run test:coveragenpm run test:watch-clientnpm run test:watch-server
Note: This is now a github template project. This makes copying the contents of the projectinto a new repo very simple.
To setup your own project, you will need to copy the contents of this project into a new repo.You will need to update the content in these files to names of your project and yourself:
- package.json: name, version, description, repository, author, bugs, homepage
- LICENSE: (update to your preferred license)
- client/index.html: description and title
- this README.md
This is also a good time to go through the included libraries to add or remove features that you want.
After this you can commit the files into a new repository and push up to your github.You can now start updating files in your client to begin working on your own project!
- Webpack conveniently bundles your code for you.
- Babel lets you use ES6/7 features.
- CSS pre-processor setup for LESS and SASS lets you keep your styles clean and organized.
- ESLint helps you maintain a high level of code quality.
- Jest gives you a robust testing framework to make sure your code works.
- client - api - assets - images - icons - components - pages - environment - hooks - store - actions - reducers - thunks - tests - styles - utils- server - config - database - routes- scripts
React - View Library
Redux - State Manager
Webpack - Module Bundler
Express - Node Application Framework
MongoDB - Document Database
Mongoose - MongoDB Framework
Passport - Authentication Framework
React Notifications Component - Notification System
Material-UI - React Component Library
Bulma - CSS Framework
React Bulma Companion - Bulma Component Library
FontAwesome - Icons
Ramda - Functional Library
date-fns - Date Functions Library
SuperAgent - HTTP Request Library
ESLint - Code Linter
Jest - Testing Framework
About
A Full MERN Stack Boilerplate for Web Apps including a local authentication system. Uses React, Express.js, MongoDB, Redux, Passport.js, Webpack, Testing, and more.