Skip to content

GingerGigiCat/ClassChartsAndroid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

32903a8 · · Dec 17, 2025

History

41 Commits
Sep 16, 2025
Dec 17, 2025
Dec 2, 2025
Dec 13, 2025
Sep 29, 2025
Sep 13, 2025
Sep 13, 2025
Sep 13, 2025
Dec 15, 2025
Sep 13, 2025

Repository files navigation

Classcharts for Android

This is a native android client for classcharts (the horrendous student management system my school switched to this year) written in kotlin with the jetpack compose framework for hack club's midnight!

Features

Login with classcharts code and date of birth

Functional fetching of homework and timetable

Highlights the current lesson on timetable

Homeworks can be opened to be viewed, with formatting

Homeworks can be ticked off

Filtering of only completed or all homeworks

Material 3 design

Install

To download the apk, go to releases, expanded the assets section on the latest release, and download app-release.apk to your android phone.

Once the apk file has downloaded, tap it to open it, click through any complaints from your phone about sources allowed to install from, and it should install!

You can then open it from your normal home launcher!

For reviewers for a demo

On the login page, login using the classcharts code demo and the date of birth doesn't matter

Do note that ticking homeworks, changing the filtering of ticked homeworks, and picking a date to look at on the timetable do not work in the demo. I would create a real user, but i can't, only a school can create users. Also, opening pdfs won't work because you have to be logged in for the link from classcharts to work otherwise it expires (The links that the demo attachments have are expired)

Tech notes

This app (currently) has so many ui thread blocking things, which is bad, and has network on main thread which i have to bypass to let the app even run. There is currently some amount but minimal error handling, so it is very likely it can crash or give no output if something weird happens internally. This is my first time ever using kotlin and jetpack compose, so make of that what you will

Here is my todo list for this app, in no particular order:

Make ticking a homework work on the actual homework page

Add swiping between timetable days

Ability to add a note on homework (needs a database)

Offline mode (needs a database)

Shade incomplete homeworks a different colour in the list

Fix ui thread blocking

Figure out why the calendar is jittery to expand and collapse

Add loading wheels and nice error handling

Export timetable and import someone else's?

Animations, like for ticking off homework so it doesn't just disappear

Make opening microsoft documents not crash it

Login with microsoft once you've linked your classcharts code?

Make timetable show free periods? Harder than it seems

User addable tasks

Gallery

Screenshot_20251213-224827 Screenshot_20251213-224907 Screenshot_20251213-224832

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages