OpenSUTD / sutd-timetable

.ics generator for timetables
https://opensutd.org/sutd-timetable/
The Unlicense
3 stars 1 forks source link

Maintenance and Further Development #3

Open randName opened 5 years ago

randName commented 5 years ago

Feel free to discuss on this issue. I will not offer much in terms of direction but I can offer advice and explain how the different parts work.

piroton commented 5 years ago

Does the Parser update the database each time a new timetable is uploaded? Or does it simply perform the check to ask if the data has already been put in?

Are manual purges to remove the data necessary?

randName commented 5 years ago

The parser only extracts the data out, updating the database is done in the view using the Firebase binding. There are no checks, old data is simply overwritten. I wanted to make a staging section for new uploads before they are pushed out (to prevent random people clearing out the db) but never got round to it. Also might want to let people suggest edits if there's changes in schedule or other parsing errors.

Old schedules only cause a problem because the section numbers overlap across terms (e.g. 1138 in one term might be different from the next). The current schema on Firebase namespaces the term but it throws the occasional error and it becomes NaN-NaN. I think this will reduce the need for purging beyond running out of space, and even that can actually be done with a Firebase Cloud Function

chaychoong commented 5 years ago

I think you can just take the role of the maintainer bah.. go to Family and call for collaborators perhaps?

Yustynn commented 5 years ago

I've fixed it for this term, but won't be maintaining next term onwards (graduating).

Main issues with maintaining: • Non-obvious that you have to manually change the term every time we enter a new term • Non-obvious how to retrieve prod keys • No way of maintaining your cloud function for the calendar @randName (also, it relies on using prod db)