Skip to content

Repository files navigation

ClassCharts API · Java

An unofficial Java library for the ClassCharts student API.

Java Gradle

⚠️ Unofficial. Not affiliated with, endorsed by, or supported by ClassCharts / Edukey. It calls the same endpoints the website uses, which can change without notice. Use it for your own data only.

What is it?

A small Java library for logging into the ClassCharts student portal and pulling your data back as typed objects (homework, announcements, behaviour points, timetable, and more) using Gson.

Usage

StudentClient client = new StudentClient("YOUR_STUDENT_CODE", "01/01/2000");
client.login();

List<Homework> homeworks      = client.getHomeworks();
List<Announcement> announcements = client.getAnnouncements();
List<BehaviourPoint> behaviour = client.getBehaviour();
DayTimetable today            = client.getTimetable("2024-01-01");
StudentInformation info       = client.getStudentInfo();

List<Reward> rewards          = client.getRewards();
client.purchaseReward(rewards.get(0));

The client signs in with the same student code + date of birth as the ClassCharts student site and refreshes its session automatically (every ~3 minutes).

Building

This is a standard Gradle java-library project:

git clone https://github.com/duzos/classcharts-api-java.git
cd classcharts-api-java
./gradlew build

It's also set up with maven-publish if you want to publish it to a local/remote Maven repository.

Status

Clients

  • Student client
  • Parent client
  • Automatic re-login after session timeout

Supported data

  • Announcements
  • Homework & homework statuses
  • Behaviour points & activity
  • Rewards (and purchasing)
  • Student information
  • Timetable (lessons & day timetable)

A Python version of this library also exists: classcharts-api-python.

Links

Credits

By Duzo.

About

A classcharts api library for java

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages