2024-01-28 14:41:43 +01:00
2023-06-12 06:21:02 +02:00
2024-01-28 14:41:43 +01:00
2024-01-07 16:40:48 +00:00
2024-01-07 16:40:48 +00:00
2024-01-25 15:34:25 +00:00
2024-01-07 16:40:48 +00:00
2024-01-26 16:08:27 +01:00
2024-01-07 16:40:48 +00:00

Solen (ŠOL Enhanced)

An enhanced version of the ŠkolaOnLine (ŠOL) online school system.

It aims to provide more readable data than the web version and remove some of the annoyances of the mobile app. It is intended to be an Android app in the future, but so far it is only for Linux (not tested anywhere else). (Android app development in progress though!) Insiration was taken from @JakubAndrysek's skola-online-stahovani-znamek project.

PC Python version

Features

  • Shows the schedule for the current week
  • Shows all grades and their weighted average
  • Works offline (if the internet has been accessed at least once before)

Installation

Clone the repo
git clone https://github.com/mnjx/solen

Navigate into the repo directory
cd solen

Install
sudo make install

Run the program solen

Usage

Upon startup, the user is prompted to enter their ŠkolaOnLine credentials. If the login proccess is successful, the preconfigured functions in /bin/solen will execute. By default, the functions are: showing the schedule for this week, showing the schedule for today and tomorrow and showing the grades. You can edit that file if you want to change what is being displayed. Alternatively, you can edit the src/main.py and then do the install step (sudo make install). There are optional command-line arguments for filtering what should be displayed. Here they are:

Optional argument Description
-t, --today-tomorrow show the schedule for today and tomorrow
-w, --week show the schedule for this week
-g, --grades show the grades
-u, --username provide the username for login
-p, --password provide the password for login
-l, --local only show the local data without attempting to connect to the internet
-d, --delete-local-files deletes all locally stored user data, including schedules, grades and login credentials
-b, --backup backs up all local user data into a .tar.gz archive
-R, --backup-restore PATH restores a backup previously made with SOLEn

Android app related stuff

I am currently working on the Android app, but the implementation is unfortunately not the cleanest.

The implementation consists of a local (or maybe remote in the future) server which does the webscraping and session stuff and the actual Android app which shows the data.

To start, you need to set the server up on localhost (127.0.0.1) on port 8080 using Termux (tested like that, maybe you can find an another way to host a server on mobile) and it needs to be serving the file fetch.php.

To set the server up, run the run_server.sh script found in the /server directory.

It needs to be running all the time, otherwise, the Android app won't be able to connect to the ŠOL servers and extract the data. Offline stuff should still work though.

After setting up the server, you can start the app. You will be greeted with the weekly calendar.

There is currently no way of logging into the app though... This is a quite important issue, so I have it at the top of my TODO list.

S
Description
Odlehčená verze Školy OnLine.
Readme GPL-3.0
88 MiB
Languages
Kotlin 98.8%
Shell 1.2%