An API wrapper written in Node.js that enables developers to easily interact with the University of Toronto's API to display course information.
``` https://uoft-course-api.herokuapp.com/ ``` At least one parameter is required in order to retrieve a valid response. ` org `Example: Select Anthropology or type at least the first 3 characters. You can select up to 3 departments (ex. org=csc,ece)
` code `Example: Select Anthropology or type at least the first 3 characters.
` section `Example: F (Fall), S (Winter),Y (both sessions) which refer to term.
` studyyear `Courses will be shown based on year(s) selected
` prof `Enter any part of the last name. Please be aware that Instructor(s) details may change
` daytime `Filter time of day: AM, PM, EVE
` weekday `Filter by specific day(s) of the week: MO,TU,WE,TH,FR
` breadth `Filter by degree breadth requirements: 1,2,3,4,5
` online `Retrieve online courses only: t
` waitlist `Retrieve only the courses that have a wait list option available if the course becomes full: t
` available `Retrieve meeting sections that have space available for enrolment: t
` title `Enter any part of the course title or subtitle
``` https://uoft-course-api.herokuapp.com/courses?org=csc&studyyear=3&breadth=3&weekday=WE ``` ``` { String: { "courseId": String, "org": String, "orgName": String, "courseTitle": String, "code": String, "courseDescription": String, "prerequisite": String, "corequisite": String, "exclusion": String, "recommendedPreparation": String, "section": String, "session": String, "webTimetableInstructions": String, "breadthCategories": String, "distributionCategories": String, "meetings": { String: { "schedule": { String: { "meetingDay": String, "meetingStartTime": String, "meetingEndTime": String, "meetingScheduleId": String, "assignedRoom1": String, "assignedRoom2": String } }, "instructors": { String: { "instructorId": String, "firstName": String, "lastName": String } }, "meetingId": String, "teachingMethod": String, "sectionNumber": String, "subtitle": String, "cancel": String, "waitlist": String, "online": String, "enrollmentCapacity": String, "actualEnrolment": String, "actualWaitlist": String, "enrollmentIndicator": String, "meetingStatusNotes": String, "enrollmentControls": [ { "postId": String, "postCode": String, "postName": String, "subjectId": String, "subjectCode": String, "subjectName": String, "designationId": String, "designationCode": String, "designationName": String, "yearOfStudy": String, "typeOfProgramId": String, "typeOfProgramCode": String, "typeOfProgramName": String, "primaryOrgId": String, "primaryOrgCode": String, "primaryOrgName": String, "secondaryOrgId": String, "secondaryOrgCode": String, "secondaryOrgName": String, "assocOrgId": String, "assocOrgCode": String, "assocOrgName": String, "adminOrgId": String, "adminOrgCode": String, "adminOrgName": String } ] } } } } ```