As some may have known, I am currently the president of Kendo Club in my university. There is actually a lot more work and less glamour than it sounds.
Our student council MPP requests an updated details of our club members quarterly, and it is a pain to get my members to fill in the forms. As university students, we are more often than not busy with coursework and revisions, and thus co-curriculum activities are viewed as stress relievers that get second-rated attention — and that’s the way it should be. However, unfortunately that also means my members might not be able to fill in the forms before the deadline.
I’m fed up. As a Computer Science student, I know what to do.
A web app
I spent time designing a online database application running. With this application, my kendo club members can create a personal account and enter all their information. When the time comes for member details submissions, all they have to do is to login and confirm/verify that their data are up to date! Talk about convenience!
I’m please to announced that this application was rolled out a month ago. However, since it is only used internally, I do not plan to release the link publicly anytime soon.
These features were planned, of which only some have been implemented.
- Allow users to submit their personal details.
- Allow users to have an account with password, for editing their details.
- Able to grant some users administration status.
- Admins are able to edit details for other accounts, including changing their passwords.
- Admins are able to reset ‘verified’ status as well as delete unverified accounts.
I’m also please to say that this system uses proper security to protect user’s password. Their passwords are responsibly salted and hashed before stored, so while I can access other information they submitted, I remain oblivious of their password. What this means is that in the case of a security breach, their (most likely overused) passwords remain safe. PBKDF2 is chosen as the authentication algorithm, which I believe makes brute-force hacking a challenge. This is a personal first — both in rolling out a usable system for actual use, and going the extreme lengths to protect stored passwords.
To further protect our users’ information, the application keeps tab on if the user has verified their information recently. An unverified record probably means the user is no longer an active kendo club members, and their data will be deleted off the database.
I utilised Onsen-UI as the backbone of UI, while using PHP along with mySQL for
server-end processings. It features a responsive design that looks and works great on any screen sizes.
Truth be told, while the functionalities of the application were well thought out, the app itself was slapped together in a matter of weeks, in time for new university semester. I regret to say that the application did not call attention to details and bugs are lurking around. Members found some components slightly confusing. I know it can be improved.
I have already began to think about what’s happening next. The UI/UX needs to be retouched and a significant overhaul is waiting for the backend. I have already designed a new login algorithm — one that is smarter and hopefully less confusing.
Until then, and I will leave you with a wise quote about web design:
A user interface is like a joke… If you have to explain it then it’s not that good. #webdesign
— Web Dev Humour (@WebDevHumour) August 8, 2015