Skip to content
This repository was archived by the owner on Feb 16, 2023. It is now read-only.

sccreeper/BetterClasscharts

Repository files navigation

Archival note

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.


Better ClassCharts



Contents

Information

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.

Supported Platforms

  • Linux
  • Android - Intended platform
  • Windows (in theory not tested)
  • Mac (in theory not tested)

Building

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

Setup

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.

Using build.sh

Run

./build.sh debug

or

./build.sh release

Running build.sh with the release option requires uber-apk-signer.

Manually

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.

Notes

1Any Debian based system should work.

3For a release build, replace debug with release

About

Better ClassCharts repo.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published