{"id":22006362,"url":"https://github.com/a-sit-plus/pupilidlib","last_synced_at":"2026-04-14T06:02:54.785Z","repository":{"id":222523112,"uuid":"738128206","full_name":"a-sit-plus/pupilidlib","owner":"a-sit-plus","description":"KMM library for the Austrian electronic pupil ID (edu.digicard)","archived":false,"fork":false,"pushed_at":"2024-08-14T15:39:26.000Z","size":187,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T06:43:57.761Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/a-sit-plus.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-02T13:46:20.000Z","updated_at":"2024-08-14T15:39:30.000Z","dependencies_parsed_at":"2024-02-28T09:35:12.018Z","dependency_job_id":"c3509ded-cab3-42a5-ac54-dddff5434363","html_url":"https://github.com/a-sit-plus/pupilidlib","commit_stats":null,"previous_names":["a-sit-plus/pupilidlib"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/a-sit-plus/pupilidlib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-sit-plus%2Fpupilidlib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-sit-plus%2Fpupilidlib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-sit-plus%2Fpupilidlib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-sit-plus%2Fpupilidlib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/a-sit-plus","download_url":"https://codeload.github.com/a-sit-plus/pupilidlib/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-sit-plus%2Fpupilidlib/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266813437,"owners_count":23988544,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-30T01:11:46.057Z","updated_at":"2026-04-14T06:02:54.730Z","avatar_url":"https://github.com/a-sit-plus.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PupilIdLib\n[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-brightgreen.svg?style=flat)](http://www.apache.org/licenses/LICENSE-2.0)\n[![Kotlin](https://img.shields.io/badge/kotlin-multiplatform--mobile-orange.svg?logo=kotlin)](http://kotlinlang.org)\n[![Kotlin](https://img.shields.io/badge/kotlin-1.9.10-blue.svg?logo=kotlin)](http://kotlinlang.org)\n[![Java](https://img.shields.io/badge/java-17-blue.svg?logo=OPENJDK)](https://www.oracle.com/java/technologies/downloads/#java17)\n\nThis is a Kotlin Multiplatform library implementing features of the Austrian electronic pupil ID ([edu.digicard](https://www.bmbwf.gv.at/Themen/schule/zrp/dibi/itinf/itdienstleistungen/educard.html))\nas [W3C Verifiable Credentials](https://w3c.github.io/vc-data-model/).\nIt targets iOS and Android on the client side, as well as the JVM on the back-end.\nIt also contains JVM-only data classes to be consumed by an OpenAPI generator (i.e. Swagger)\n\nThe business logic is written in 100% pure Kotlin and relies heavily on the [KMM VC library](https://github.com/a-sit-plus/kmm-vc-library).\n\nImplemented features:\n\n- `PupilIdCredential` as a W3C VC to store all properties\n- Initialization of needed classes wtih vclib (call `Initializer.initWithVcLib()` in your code)\n- Creation of a device Binding (i.e. certified holder key for the wallet)\n- QR code encoding and parsing of credentials, including splitting of large credentials into chunks of data\n\n\nSome bits and pieces are rather enterprise-y and read very much like traditional Java code.\nThe plain and simple reason for this is the fact that the code is used in production, which is why breaking API and ABI changes are costly, hence the separation between KMM VC library and PupilIdLib.\n\nCheck the testcases for examples on how to use it.\n\n## Contributing\nExternal contributions are greatly appreciated! Be sure to observe the contribution guidelines (see [CONTRIBUTING.md](CONTRIBUTING.md)).\nIn particular, external contributions to this project are subject to the A-SIT Plus Contributor License Agreement (see also [CONTRIBUTING.md](CONTRIBUTING.md)).\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-sit-plus%2Fpupilidlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fa-sit-plus%2Fpupilidlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-sit-plus%2Fpupilidlib/lists"}