I'm in the process of designing a library system. There's one application for the librarian to manage books, manage users, etc.
But, we also need to ensure that subscriptions are paid on time in this system and to ensure only people who have an active subscription can enter the library.
My solution to the above problem is, the library could issue a membership card with a "QR Code" printed on it. Users could point their cards on a computer with an application open which reads the QR Code, identifies the user, and reminds the user if they have to return any books if so which, and if they have to pay their subscription. I thought of generating a random 16 digit alphanumeric token that would be unique to every single user, and the QR Code will basically represent that particular token. Would this be a secure way to grant access to library users? At first, I thought of entering usernames and passwords, but that would be highly inconvenient and others around would be able to see the user type them, also, if they forget their credentials, they will keep others waiting. Any suggestions, improvements or better ideas will be highly appreciated.
Your ideas will be highly appreciate. Also, the application is going to developed in C#. Basically, a standalone desktop application.
This project is for learning purposes, so budget is very limited.