Methodology

Progressive Web App

A progressive web app will be built for the project. As it is relatively easy to build, maintain and release to users. A progressive web app has more capabilities than a normal web app, which makes it very user-friendly as it combines the best aspects of web and app experience and works offline or on low-quality network connections owing to service workers that cache the app data locally on the device.

Frontend:

React is a JavaScript library for creating web and native user interfaces that was developed by Facebook in 2011. React with Vite will be used for the frontend website development. Then, manifest and service worker files will be added to make it a valid Progressive Web App.

Backend:

The backend server will be built using Node.js, which is a popular and cross-platform JavaScript runtime environment for developing web servers. Express frameworks will be used on top of Node.js to offer a fast and flexible way to handle and create API requests and routing. The WebSocket protocol will also be used for real time communication for to handling and transferring a large amount of real time chat data.

Database:

MongoDB is a documented-based NoSQL database. It stores data in a structure of BSON that is similar to JSON (JavaScript Object Notation), which is a data-interchange format in JavaScript and is simple and readable for humans. BSON has extra features that allow effective indexing and querying of data. Therefore, it is a suitable database for Node.js server.

Deployment:

The server of the project is hosted on Amazon Elastic Compute Cloud (Amazon EC2).
The database is hosted on a cloud service called MongoDB Atlas.