This is a dynamic web application. It is built using Node.js and an MVC Framework - Express.js
All the data is stored in database - PostgreSQL and MongoDB.
A template engine - handlebars.js is also applied in the web app.
For the client side, the Bootstrap and jQuery are also used.
In order to increase the user experience, AJAX is implemented using jQuery.
And the states, like cookies and sessions, are managed using client-sessions.js.
All the passwords are encrypted before they are stored in the database.
To finish this project, I divided it into 8 assignments:
-
Setup the environment, tooling, and a Heroku account (Visual Studio Code + Git + Heroku).
-
Create multiple routes that serve specific HTML pages, styled using CSS.
-
Extend the app to listen on a number of additional routes and explore JavaScript’s concepts: objects, callbacks, closures, promises, JSON.
-
Practice working with Handlebars.js as a templating engine and handling POST routes / processing POST data from our server.
-
Connect to a provisioned PostgreSQL on Heroku cloud platform and manipulate the data.
-
Work with a NoSQL database hosted in the Mongo Lab cloud service.
-
Work with Client Sessions and data persistence to add user registration and Login/Logout functionality.
-
Enable users to update their profile using AJAX in a modal window and harden our app by using one-way password encryption with bcrypt.