I have decided to stop maintaining this as I no longer have access to a ClassCharts account to test with. As a result I have moved my focus to other projects. If you have found this and want to develop it further, feel free to fork it and start developing it again.
Contents
What is this?
A alternative to the ClassCharts mobile app.
Why did I do it?
Originally started as a joke to add dark theme to the original app, then turned into an excuse to reverse engineer an API and use Kivy on Android.
What libraries were used in the making of it?
- classcharts.py - Helped with reverse engineering the API and making the client.
- The Kivy Project - Very useful crossplatform UI + API library.
- KivyMD - Provides most of the UI widgets used in the app.
- requests - The backbone of the API client.
- Linux
- Android - Intended platform
- Windows (in theory not tested)
- Mac (in theory not tested)
These are the instructions for building for Android.
You can also use the build.sh
script.
For other platforms see the Kivy docs.
Requirements
- Ubuntu 20.04 or later1
- A phone running Android 5.0 or later
- Python 3.10
- Poetry
Install Buildozer
git clone https://github.com/kivy/buildozer.git
cd buildozer
sudo python setup.py install
cd ..
Clone the source from GitHub.
git clone https://github.com/sccreeper/ClasschartsApp.git
Install the project requirements
cd ClasschartsApp
poetry install
See if everything has installed correctly
poetry run python3 src/main.py
Then use build.sh
or the Buildozer command to install the app on the device.
Run
./build.sh debug
or
./build.sh release
Running build.sh
with the release
option requires uber-apk-signer.
Plug the phone into the computer and enable USB debugging.
Compile the app and install it.3
buildozer android debug deploy run
or
buildozer android release
And then sign the APK and then install it.
1Any Debian based system should work.
3For a release build, replace debug
with release