dani3l0 / librusik

Fancy, self-hosted Librus Synergia web client with many cool features. Those include independent average calculation, countdowns, messages, attendances %% calculation and many more.
https://librusik.dani3l0.dev
MIT License
33 stars 6 forks source link
aiohttp education librus librus-synergia python school synergia synergialibrus szkola
Preview photo

Check out the wiki for more detailed information!


Features

The coolest ones:

๐Ÿ“‹ Grades with independent average calculation - works even if school has disabled it

โœ‰๏ธ Messages with downloading attachments

โœ… Attendances with per-semester per-subject frequency %% calculation

๐Ÿ  School free days with countdown to next holiday

๐Ÿช Cookies - you won't be logged out each time you close the browser

๐Ÿงน Grades cleanup - removes subjects without grades from Grades page

โŒ› Cool countdown gauges on home screen

๐ŸŒ™ Dark theme

๐ŸŽ‰ Confetti


Installation

1. Clone the repo:

git clone https://github.com/dani3l0/librusik && cd librusik

2. Install required dependencies:

pip install -r requirements.txt

3. And, finally run it:

python3 librusik.py

Done! Librusik is now running at localhost:7777.


Configuration

Go to localhost:7777/panel to manage your Librusik instance. Default user is admin and password is admin.

Interface is friendly enough to painlessly configure your Librusik instance.


Reporting a bug

Feel free to open new issues when something doesn't work or you want to ask for new features/improvements.

If you encounter a bug, remember to attach some logs (exception traceback or just a detailed description).

Also, ping me somewhere so we can test whether fixes work as intended as I have no access to Librus anymore.


Some other words

Because this was my first app written in Python, code is a terrible mess. Don't expect it to be super readable and flexible.

It just works (It actually worked since 2019 xD)