This is a sample project using the MEAN Stack.
It is a simple Node.JS application, written with TypeScript / JavaScript.
Following the MEAN stack philosophy, the technologies used are:
- Angular for the frontend.
- Express for the backend.
- MongoDB for the database.
For the “Portfolio” Application, I tried to follow the same style as this blog, but the technologies used are completely different.
Additional features that are present in the application:
- There are secured paths in Express, available only after logging in. Mainly the creation and edition of projects in the portfolio.
The security follows a two hashing scheme:- The connection is secured over SSL (HTTPS).
- The password is hashed client-side, so the user password is never sent to the server.
- The received client-hashed password is hashed again server-side, so the stored hash cannot be used as password to perform logins.
- Connection to the main blog, through the WordPress API (in the “Blog” page).
- Hidden e-mail address, to prevent bot scanning (in the “Contact” page).
And finally, about the deployment of the app:
- It uses internally a custom port. Nginx redirects calls to the default HTTPS port to the applictation.
- Both, Angular and Express are using the same port, thus the redirection above is easier to handle, and the backend URLs uses the default HTTPS port.
The application can be found here: