SapuSeven / BetterUntis

An alternative mobile client for the Untis timetable system.
GNU General Public License v3.0
234 stars 33 forks source link

[Feature Request] Open-Source the demo API #403

Closed hairy-tortoise closed 1 year ago

hairy-tortoise commented 1 year ago

Problem Statement

I want to develop something that can access the untis API and not everything I need is already implemented in the demo API and I don't want to completely rewrite everything

Solution Ideas

Open-Source it so I can add the things I need

hairy-tortoise commented 1 year ago

Another solution: If you don't want to completly open source it, you could at least give me access

SapuSeven commented 1 year ago

Hi, Unfortunately the current testing API is and will remain closed source for the near future. Even if I gave you access to the source, the testing API is not meant to be a 1:1 replica of the Untis API, its purpose is to explore edge-cases and to verify basic features without the need of an Untis account. There is no guarantee that my testing API behaves exactly like the Untis API. However, I can look into generating an OpenAPI spec for my API. I'll keep you updated here.

SapuSeven commented 1 year ago

Also, could you tell me which language/framework you are using for your project? Maybe it would be a good idea to start working on some kind of library project.

hairy-tortoise commented 1 year ago

I use Flutter, so Dart would be the language

SapuSeven commented 1 year ago

I have looked into this topic, but unfortunately it's not easy to export the API structure from the Testing API. You can find a rough overview (though it may already be out-of-date) in the Wiki. Additionally you can find relevant authentication logic and the current data models in the BetterUntis source code. This will help you at least as much as the Testing API (maybe even more) For detailed questions I suggest you send a message in the BetterUntis Matrix Channel.