Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allocate+ Timetable Support #665

Open
sebasptsch opened this issue Feb 25, 2023 · 7 comments
Open

Allocate+ Timetable Support #665

sebasptsch opened this issue Feb 25, 2023 · 7 comments

Comments

@sebasptsch
Copy link

Hi there, there's a few universities that use the allocate+ timetabling system. Namely USyd, ANU and UTS (but I'm sure there's more). I know that there's an accessible endpoint for the UTS instance for querying subject availability and times. The same may be true for other instances.

I would be willing to contribute to an implementation supporting this as I'm familiar with Redux and Redux Toolkit (slices and rtk). Lmk

@Rayahhhmed
Copy link
Contributor

Hey there! I was just curious as to what the UTS endpoint is. From past experience, USyd has authenticated API, for which the tokens that are provided are very short-lived. I am not sure if this is the same for ANU, would it be possible for you to get back to me on this?

@sebasptsch
Copy link
Author

Here's a sample of some of the code I use to interact with the API https://github.com/utsprogsoc/KronosUTS/blob/main/packages/backend/src/fetcher/fetcher.service.ts

@sebasptsch
Copy link
Author

If you go to https://mytimetablecloud.uts.edu.au/odd/ you can see the different interfaces. For the UTS one there's a public version. Not sure about other universities.

@lhjt
Copy link
Contributor

lhjt commented Feb 27, 2023

If you go to https://mytimetablecloud.uts.edu.au/odd/ you can see the different interfaces. For the UTS one there's a public version.

This seems to redirect me to an SSO page? (unless you meant that the API itself is public, while the UI to access it is not)

@sebasptsch
Copy link
Author

Sorry, looks like the directory page is behind SSO. The actual public access timetable is here

@pl4nty
Copy link

pl4nty commented Jun 7, 2023

/subjects, /locations, and /studentsets (groups) are public at /odd/rest/timetable, and they worked when I used a gateway for CORS/caching. So probably safe to scrape /subjects. Looks like it's just served by ELBs so may not even have ratelimiting or caching.

I'm not sure how to populate some of the scraper schema fields though, at least for ANU. career could map to courseCode[:-4] < 5000 ? Undergraduate : Postgraduate, but I don't think classes[].courseEnrolment or censusDates are available. mode seems to be missing too but was available from an older API (I used it for https://timetable.cssa.club).

Designing a scalable scraper might be tricky too depending on scope. crt.sh lists >150 cloud customers (ignoring on-prem, not sure if Allocate still sell it).

@sebasptsch
Copy link
Author

At UTS the subject description always includes the same text to indicate that the subject is not in-person, though I'm not sure how it's handled for other universities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants