The mean stack is intended to provide a simple and fun starting point for cloud native fullstack javascript applications.
MEAN is a set of Open Source components that together, provide an end-to-end framework for building dynamic web applications; starting from the top (code running in the browser) to the bottom (database). The stack is made up of:
- MongoDB : Document database – used by your back-end application to store its data as JSON (JavaScript Object Notation) documents
- Express (sometimes referred to as Express.js): Back-end web application framework running on top of Node.js
- Angular (formerly Angular.js): Front-end web app framework; runs your JavaScript code in the user's browser, allowing your application UI to be dynamic
- Node.js : JavaScript runtime environment – lets you implement your application back-end in JavaScript
This boilerpalte packs ootb functionality of
- User-management
- deployment-script automatically generates 2 default system-users (admin- + test-user)
- incorporated role-management (predefined roles: verified, trusted, admin, system)
- Internationalized (via Angular) to support multiple languages
- extraction & merging of i18n-strings automated via npm script
- predefined languages: en, de (default = en)
This includes requirements, installation & deploy.
- git - Installation guide .
- node.js - Download page .
- npm - comes with node or download yarn - Download page .
- mongodb - Download page .
git clone https://github.com/rngShard/mean.git
cd mean
npm install
cp .env.example .env # then adjust config params
node setupUtils/createSystemUsers.js # to create initial System-User accounts
Initial system accounts have login credentials of [email protected] & [email protected] with passwords as specified in the .env-file. For development, continue with
npm start
where as production requires
npm run-script deploy
For linux-based systems, PM2 can be nciely used to deploy & monitor node applications as services.
For Windows-Server, one may consider NSSM to deploy the Node-Executable linked to server/index.js
.
- The MEAN name was coined by Valeri Karpov.
- Initial concept and development was done by Amos Haviv and sponsered by Linnovate.
- Inspired by the great work of Madhusudhan Srinivasa.