Built in the Node.js open source runtime environment. In this project I moved from client-side development (using JavaScript, HTML and CSS) to building a server-side web application using the Express.js web framework hosted in Node.js runtime environment. The site includes a flatty style landing page including navigatation bar, sign-up forms, staff info etc. It has an uncluttered and minimal UI. The backend API’s communicated with databases designed using MongoDB, an example of a NoSQL database program using JSON-like objects with schemas. All APIs, including GET, PUT, UPDATE and DELETE were tested using Postman. Great experience using PuTTY open-source terminal emulator, working remotely over SSH network protocol.
Securing my API with authentication; hashing passwords using Bcrypt and issuing tokens with JSON Web Token (JWT). New additions help to restrict access and ensure tokens are verified. Previous to this the back-end APIs could be easily accessed via the URL. User comments coudl be retrieved, new ones saved, deleted or updated. Hashing is a means of transforming a string of characters (passwords, in my case) into a different and larger set of characters, thus protecting our sensitive data. Bcrypt is the password hashing function used.