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 ⚙️
POST
request to/auth/request-token
endpoint withuniversityId
in 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 averifier
as URL query param (if there is no callback,verifier
is displayed on the USOS page) POST
request to/auth/access-token
endpoint withrequestToken
,tokenSecret
,verifier
, anduniversityId
in JSON body- Request should return
jwt
- Include
Authorization
Header 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.