Data - psit4-lamas/PSIT4-LaMaS GitHub Wiki

All our data is stored on the Google's Firebase infrastructure. The data is saved as JSON documents in a NoSQL cloud database, Cloud Firestore. Videos and other uploaded files are stored on Cloud Storage and our LaMaS web application is hosted on Cloud Hosting.

Subject content

The content of subjects is saved in the Cloud Firestore collection "subjects". For every subject a document is created, which consists of the following fields:

  • assignedTutors (array)
  • averageRating (float)
  • grades (map)
  • lectures (map)
  • subject_id (string)
  • subject_name (string)
  • subject_rates (map)
  • comments (collection)

Lectures

In the lectures map we store information to each lecture, including videos and exercise materials references to their Cloud Storage locations.

Comments

"comments" are saved as a Cloud Firestore sub-collection. For each comment a new document is created in this subcollection.

Users

In the Cloud Firestore "user" collection we save additional information about users, that are not included in Firebase Auth functionality. At the moment, this is only used to store the user's role. This information is saved in a array.

Files uploaded

Files are saved in the "files" folder in Firebase Storage. Each file is referenced from the lectures node of a subject in Cloud Firestore.