Architecture - psit4-lamas/PSIT4-LaMaS GitHub Wiki
Level 1: System Context diagram
The System Context diagram shows the people who use it, and the other software systems that LaMaS System has a relationship with. Tutors use the LaMaS System to upload their lecture materials, while students view information about these lectures, and post comments or questions. The LaMaS System itself uses the existing Firebase platform System to do this, which uses the Firebase Authentication System to authenticate LaMaS users.
Level 2 Container diagram
This is the Container diagram for LaMaS. It shows that the LaMaS (the dashed box) is made up of four containers: a Single-Page Application, a server-side Functions, a Storage, and a Database. The Single-Page Application is a React UI web application that runs in the customer's web browser, serving content (HTML, CSS and JavaScript), and providing all of the LaMaS features. Firebase is a mobile and web application development platform developed by Firebase, Inc. in 2011, then acquired by Google in 2014. The Single-Page Application consumes a JSON/HTTPS API, which is provided by Firebase SDK from the existing Firebase platform System, running on Google Cloud platforms. Firebase System uses its Firebase Authentication Software System in order to manage user’s authentications. In LaMaS System, Storage, Database, and Functions logics are developed and maintained within LaMaS Software System, while the infrastructure is provided and maintained by Firebase (Google) itself. The Firebase System gets data (such as user information, comments, ratings, …) from the Firebase Database (NoSQL document-oriented database). From Firebase Storage (Google Cloud Storage bucket) it gets user-generated content (such as files and videos). The Firebase Functions container provides customised APIs to listen to events and where additional features can be defined.