🍃 Database Format - CSElectives 2.0
TODO: redesign this
Currently, only courses that fall under the School of Computer Science and Engineering are stored in the database.
Data from all UNSW courses 2022 is in the coursesFormattedRaw.json
file in the branch ELEC-91
: https://github.com/csesoc/CSElectives/blob/ELEC-91-insert-data-into-firestore-DO-NOT-MERGE/src/assets/coursesFormattedRaw.json. We can use them later if we or the Circles team wish to expand the scope of the review website.
Custom Types
A Code
type used in this documentation refers to a string
in format of /[A-Z]{4}[0-9]{4}/
, e.g. COMP1511
A YearTerm
type refers to a string in format of /[0-9]{2}T[0-3]/
, e.g. 21T1
Course
A course object contains all required metadata concerning the course. The format is as follows:
Key | Description | Type | Example |
---|---|---|---|
| A courses attributes (related to if it’s an introductory course, or general education course, etc.) |
| See Attributes |
| Denotes whether part of semester or trimester calendar. |
|
|
| Location of UNSW campus (includes |
|
|
| Course code |
|
|
| Description from Handbook |
|
|
| Required prerequisites. Empty string if none. |
|
|
| An object with equivalent courses as the key. Value is always 1. |
|
|
| An object with equivalent courses as the key. Value is always 1. |
|
|
| The faculty responsible for teaching the course. |
|
|
| Category of learning |
|
|
| A flag that indicates whether the course can be taken as a general education course |
|
|
| The first number of the course’s course code |
|
|
| An array of review ids submitted by our users. |
|
|
| The school responsible for teaching the course. A school is a subdivision of a faculty. This is an empty string if the responsible school could not be found (e.g. the faculty itself is responsible for the course) |
|
|
| Represents whether the course is for undergraduate or postgraduate students |
|
|
| An array representing the course availability per term. 0 represents Summer Term; 1 represents Term 1, etc. |
|
|
| Name of course |
|
|
| A course’s units of credit |
|
|
Review
Key | Description | Type | Example |
---|---|---|---|
| Author of review. Currently the substring before the |
|
|
| Author’s review |
|
|
| The course code |
|
|
| False if the review is to be shown anonymous. |
|
|
| id for review |
|
|
| Their ratings for the course |
| {
difficulty: 5,
enjoyment: 5,
overall: 5,
usefulness: 3,
workload: 5,
} |
| A list of recommended courses |
|
|
| The term they took the course |
|
|
| Timestamp (unix timestamp) in milliseconds |
|
|
Rating
All ratings are integers between 1
and 5
inclusive.
Key | Type | Example |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Attribute
I’ve only seen introductory_course
and general_education
attributes.
Key | Type | Example |
---|---|---|
|
|
|
|
|
|