An official Swiss Government project made by the Federal Office of Information Technology, Systems and Telecommunication FOITT as part of the electronic identity (E-ID) project.
LicenceCheck is part of the pilot project developed for the future official Swiss E-ID.
It is publicly accessible and can be used to start a verification process to verify credentials. The depth of information can be chosen through use-cases in LicenceCheck. After approving/rejecting the scanned QR-Code, the result is displayed in LicenceCheck.
The public application can be found here: https://licencecheck.astra.admin.ch/
Technology | Required Version |
---|---|
Java | >= 17 |
node | >= 20 |
npm | >= 10 |
mvn | >= 3.9.3 |
Component | Technology/Framework |
---|---|
Backend | Spring Boot 3 |
Frontend | Angular |
Outgoing REST Requests | Retrofit |
QR Code Generation | zxing |
Image Generation | ImageIO |
Important
Due to security reasons, all secrets and files containing secrets have been removed from the project. It is still possible to test it locally with mocked data.
To run the application, you need to:
- Go into
./elfa-vz-verifier-ui/
folder and runnpm install
- Run
mvn clean install
in root folder - Run
java -jar -Dspring.profiles.active=local ./elfa-vz-verifier-scs/target/elfa-vz-verifier-scs.jar
When the server has finished starting, it is possible to access the following addresses:
Application | Link |
---|---|
LicenceCheck | http://localhost:8090/ |
SwaggerUI | http://localhost:8090/swagger-ui.html |
The backend has mock implementations to enable local usage. If a new verification process is started, there will always be successful verification because the underlying infrastructure has been mocked. To change the mock response, the MockTechAdapterClientImpl.java can be modified at line 25 or 26 to get different responses.
- Android App: pilot-android-wallet
- iOS App: pilot-ios-wallet
- Issuer, Verifier & Base registry: pilot-elfa-base-infrastructure
We welcome any feedback on the code regarding both the implementation and security aspects. Please follow the guidelines for contributing found in CONTRIBUTING.md.
This project is licensed under the terms of the MIT license. See the LICENSE file for details.