In developing the core functionality of the UniHub platform, I took on the significant responsibility of implementing the user management system, the group system, and the activity system. For the user management system, I designed a robust authentication framework that utilizes session-based authentication, role-based access control for students and administrators, and password security through bcrypt encryption. My implementation ensures secure user registration through thorough duplicate username verification, a reliable login system through comprehensive session management, complete profile management through CRUD operations, and sophisticated role-based access control.
I developed Groups to be able to create public as well as private groups for different group types, including sports, study, hobby and university clubs. I implemented comprehensive member management features, including seamless join/exit operations, as well as group privacy controls and member monitoring features.
The Events system features include the creation of events with comprehensive category management capabilities, precise participant restriction handling, and comprehensive event scheduling with date/time validation. I paid particular attention to implementing public/private activity visibility based on group privacy settings to ensure activity access was a perfect fit with group privacy controls.
The boundary tests I implemented verified the robustness of the system. In terms of user authentication, my tests confirmed the effectiveness of null username/password authentication, username duplicate checking, session authentication, and role-based access control. On the group and event side, I successfully validated group privacy checks, event participant validation, group type validation, and event category validation.
Especially about the bug checking part, in the process of doing WDA, I encountered very many bugs, including but not limited to naming issues, in the functional development of groups and events, there was a problem that the modal box could not be closed, and I was never able to solve it, and later Mr. Khoa helped me to find this imperceptible error for closeModel appeared Naming error, this let me learn a lot, for a function of the problem, should be printed before and after its entry into the program log information, if everything does not work, then there may really be a naming conflict .... This is still hard to find, at the same time in the beginning of the development of the group function, I would like to design for the group-based privacy control in the user side can only see all the activities out of the public group, but due to the beginning of the role-based access control model is not very perfect, resulting in the user side in the privacy group can not see its corresponding activities.
点击空白处退出提示
评论