The technology stack is a set of frameworks and tools used to develop a software product. This set of frameworks and tools have bee specifically chosen to work together to create a well-functioning software.
MEAN is one such technology stack. It is a user-friendly full-stack JavaScript framework for building dynamic websites and applications.
Full-stack JavaScript framework requires that all software in a web application, both client-side and server-side, is written in JavaScript only.
MEAN is an acronym for MongoDB, ExpressJS, AngularJS, and Node.js. Each of these components has a particular use.
MongoDB: Is a schema-less NoSQL database system. MongoDB saves data in binary JSON format, which makes it easier to pass data between client and server.
ExpressJS: Is a web application framework for Node.js. It enables you to build server applications in Node.js and is a backend application that connects the front-end and databases.
AngularJS: Is the frontend technology in the stack. It is a JavaScript framework that controls the behavior of different elements that are displayed on web pages.
NodeJS: Is the JavaScript runtime environment; it is used to run JavaScript on a machine rather than in a browser.
As shown in the illustration above, the user interacts with the AngularJS UI components at the application front-end that resides in the browser. An ExpressJS server, written in NodeJS, serves the front-end.
Any interaction that causes a data change request is sent to the NodeJS-based Express server. The server grabs data from the MongoDB database (if required) and returns it to the frontend of the application, which then presents it to the user.