The website will be served by an HTTP Node.js server hosted by Heroku. This JavaScript environment is utilized for being able to handle many requests, REST API, and reading data from databases and APIs. Express web application framework will be used to handle routing, authentication and parsing body and query strings more easily. Additional middleware used for Node.js includes passport.js and bcrypt.js to support user authentication and security features. MongoDB database will be used to store JSON formatted documents and because it offers a wide variety of query options.
The website will use the Angular platform / framework alongside Angular CLI. This framework features client-side rendering, thus offering advantages with lazy loading, easy deployment and no full page load. Additionally, Angular has an encapsulated component-based architecture structure, which enables us to unit-test easier, re-use components across different parts and maintain implementations easier. Bootstrap v4 framework will be used for a fast, responsive and stylish user-experience. As a result, JQuery will also be required as Bootstrap requires the use of this technology.
The website will be developed using Visual Studio Code with Path Intellisense and Live Server extensions. Postman will also be used to compose and send HTTP requests, as well as building, testing and managing APIs. Furthermore, testing will also be done on Chrome and FireFox browsers using their respective developer / debugging tools.