stumash / CoursePlanner

http://conucourseplanner.online
MIT License
5 stars 3 forks source link

Indicate seasons offered in course info #151

Open Davidster opened 6 years ago

Davidster commented 6 years ago

For now

I think it would be a good idea to add an optional property to our courseInfo objects to hold the seasons in which we know for sure that the course is offered. Not providing this info seemed to be the number 1 criticism we received when we released our app to the public.

With the data that concordia currently provides, we can provide at least one season for which we can be sure that the course will be offered, which is the season(s) where it shows up in the recommended sequences.

With this information we can add a new property such as seasonsOffered to courseInfo objects. I propose the following format:

seasonsOffered: {
    "fall": "true",
    "winter": "false",
    "summer": "true"
}

Because this property contains incomplete information, we need to choose an appropriate way to represent this information to the user. If we find that the season the user placed the course into is "true", then we can put a green checkmark next to the course which when hovered over reads:

"this course is verified to be offered in this season"

In the case that it's "false", we should make it clear to the user that we're unsure of whether it will be offered or not. Perhaps a yellow warning symbol which when hovered over reads:

"Warning: this course may or may not be offered in this semester as concordia's schedule changes year by year"

For later

There is also another data source we can use to identify exactly which seasons the course was offered in for the current year. This will give us a complete set of seasons for which each course was offered in, but once again it is only for the current year. This change would require a new webscraper as well as thinking of a clever way to merge this information into the way it is represented as described above, both in terms for json spec and frontend UX. This could be pretty helpful for users but the cost/gain ratio is pretty low, IMO. Once the above functionality is implemented I will mark this issue as wontfix.