Digital Student ID

Mark Zlatkovsky

January 28, 2022
6 min

Digital Student ID (DSI) is a government service that automates student identification, replacing traditional paper student ID cards. It is part of the state system "Modern Digital Educational Environment", where students can take online courses from other universities and receive transfer credits for them.

DSI for students

The DSI Profile stores all the necessary information to identify the student. To read it, a special QR code is enough, which students can generate in their personal account. This QR code allows them to:

  • Use the DSI as a campus card;
  • Get access to other universities within the framework of academic mobility;
  • Confirm their student status in various museums, libraries, sports complexes, exhibitions, and other places.

DSI for other users

Security guards and system administrators have their own profiles with different access levels. Security guards can scan student QR codes and save the history of all passes. System administrators can receive and edit information about all service users.

Non-university staff can also use DSI check the student status. It’s enough to scan the QR code using the DSI service and get basic information about the student.

What the User Sees

The DSI service is a full-fledged web application that works in most browsers. For the convenience of using the service on mobile devices, we developed a PWA version. Progressive web app is easily launched in a smartphone without a browser interface and allows users to store the generated QR code even without the Internet.

We planned to build the frontend based on JSF technology (JavaServer Faces), but JSF does not have the necessary flexibility and poorly supports the necessary libraries. Therefore, we used a more modern framework, React.js.

What’s on server side

Service backend is developed in Java in conjunction with Spring Boot. To organize server operation, nginx was used — it’s often used for deploying high-load servers. nginx takes on many functions, including load balancing, redirecting addresses (using a proxy), and issuing web pages.

Processing and Data Storage

To store information about user profiles, we used the PostgreSQL DBMS (Database Management System). To interact with databases, we used the Hibernate ORM. This decision allows us to conveniently link Java classes and database objects, as well as automatically generate database queries and extract data.

SSO

The SSO (Single Sign-On) technology was already operating on the portal — with one profile, the user could use all system services. Therefore, we had to provide SSO for the Digital Student ID too. To do this, our developers connected the Keycloak tool and additional libraries of the main portal to the DSI service.

Failover Protection

Server load is constantly changing. To prevent the mainframe from crashing, we prepared a backup server with its own database. This way server load is distributed between two storages, and data is periodically replicated to avoid loss.

Results

Top Russian universities have already implemented DSI in their structure. For students it’s easy to use and impossible to lose. For university staff it’s convenient to operate accesses and control features. Digital Student ID has become useful part of a major government online education service, and we’re glad that we had a hand in it.

More from Sixhands’s portfolio