Students from any Polish university that uses USOS as their university platform can log in through USOS to view their study statistics in an appealing graphical form.
This project leverages the usos4j library for seamless integration with the USOS platform. You can learn more about the usos4j library at the usos4j GitHub repository.
Check out the deployed version here: StudentStats Live 🌐
- Provide environment variables (see .env-sample)
- Provide data for supported universities in .supported_universities.csv (see supported_universities-example.csv)
- You can find links to generate API keys at USOS API installations page
- Run with Docker ⚙️
POSTrequest to/auth/request-tokenendpoint withuniversityIdin JSON body (supported universities are listed at/universities)- Request should return
requestToken,tokenSecret, andauthorizationUrl - Log in through
authorizationUrl, then get redirected back to the origin page with averifieras URL query param (if there is no callback,verifieris displayed on the USOS page) POSTrequest to/auth/access-tokenendpoint withrequestToken,tokenSecret,verifier, anduniversityIdin JSON body- Request should return
jwt - Include
AuthorizationHeader with value:Bearer ${jwt}when requesting data from/getData
You can test backend functionality with Postman using our collection, pre-configured with endpoints and environments. All you need to do is to import this folder into Postman.
Special thanks to the contributors who made this project possible.