
Class Manager
Location-based QR attendance check application
Usage stack
- React Native(expo)
- Nest.js
- MongoDB
Rough design
- Create a class, then set the class name, classroom, attendance time, location, etc.
- Take a picture of the QR code in the classroom with a mobile app
- Send the location of the photographer, device ID, academic records, etc. to the server
- Check for duplicate location and device ID to prevent proxy attendance and fraudulent attendance
- Save attendance information
Proxy attendance
Implement only one attendance per device through device unique ID or application ID verification
Fraudulent attendance
- Static QR code (on hold)
Placing a static QR code in the classroom has advantages in terms of cost and efficiency
However, there is also a vulnerability that attendance can be made anywhere within the GPS error range because the URL is exposed
As a solution, take a picture of the QR code without exposing the URL on the mobile app, and then use a verification method such as a secret key to directly access the mobile app from the classroom. Designed to allow attendance only when photographed
→ Preventing QR code access through abnormal paths such as web browsers
We wanted to make it lightweight so that it can be accessed through a web browser without the hassle of installing an app, but using a mobile app is inevitable to take advantage of static QR
Dynamic QR code generation
Designed so that class participants can take a picture of a QR code that includes a unique identifier for the class on-site and proceed with attendance
It is still necessary to develop a mobile app because it is difficult to access the device ID from a browser.