Skip to content

e-id-admin/eidch-pilot-elfa-licence-check

Repository files navigation

LicenceCheck

LicenceCheck logo

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.

Table of contents

Overview

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/

Project Setup

Prerequisites

Technology Required Version
Java >= 17
node >= 20
npm >= 10
mvn >= 3.9.3

Technologies Used

Component Technology/Framework
Backend Spring Boot 3
Frontend Angular
Outgoing REST Requests Retrofit
QR Code Generation zxing
Image Generation ImageIO

Usage Instructions

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.

Building the application

To run the application, you need to:

  1. Go into ./elfa-vz-verifier-ui/ folder and run npm install
  2. Run mvn clean install in root folder
  3. 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

Using the frontend Angular application

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.

Other Repositories

Contribution Guide

We welcome any feedback on the code regarding both the implementation and security aspects. Please follow the guidelines for contributing found in CONTRIBUTING.md.

License

This project is licensed under the terms of the MIT license. See the LICENSE file for details.