...
NodeJS: an open-source, cross-platform runtime environment for JavaScript built on Google’s V8 engine
We chose to use NodeJS as it is very simple to use, easy to learn, and provides great performance
Since NodeJS is open-source and cross-platform, everyone in the team could develop the app regardless of the operating system they used (Windows, Mac)
By using NodeJS, we can also use NPM (node package manager), which allows us to install numerous libraries to use in our code to help in development. ExpressJS is an example of one of these libraries which is installed using NPM
ExpressJS: a backend web application framework thats used to design and build web apps quickly and easily
We decided to use ExpressJS as it allows us to create RESTful routes easily. This is particularily particularly useful as we will be developing our own API as part of the project, which we will need to create custom routes for
ExpressJS also supports JSON, which we plan on using for our API to return results
Frontend - ReactJS
ReactJS: an open-source frontend JavaScript library
We chose ReactJS for the frontend because it supports the use of components, which allows us to reuse existing code instead of having to rewrite similar features, which in turn allows for faster development
React also improves performance by only updating components in the DOM whose state has changed, instead of updating every component again, making our app lightweight and flexible
React also has plenty of documentation and online resources, so the members of our team who were unfamiliar with it would be able to pick it up quickly
Development and Deployment Environment:
...