How it fits together
- 01ITMO.ID
- 02my.itmo.ru
- 03BARS
01
Why
Every student tool around ITMO re-implements the same login and scrapes the same pages. I wanted one typed client that does it right, so my own bots and sites could stop doing it badly.
02
Coverage
- All 452 routes of my.itmo.ru as 809 typed methods.
- All 81 routes of the BARS REST API.
03
The login, all of it
ITMO.ID is Keycloak. The library handles PKCE, one-time codes, single sign-on across ITMO services and refresh-token rotation, so a session just keeps working.
04
Small on purpose
The only dependencies are golang.org/x/oauth2 and golang.org/x/net.
go get github.com/kewldan/go-itmo