NTHU Scholarship System
https://meo110.wwlc.nthu.edu.tw/
At-A-Glance
Under the circumstances of the school's scholarship system relying on paper-based operations and the impact of the pandemic, there was an urgent need for an online scholarship application and management system.
I assisted in developing a fully online scholarship application and review system for Tsing-Hua University, which enhanced the efficiency of the administrative staff and provided real-time application tracking for students.
Tech
Vue、Vuex、Python Flask、MongoDB、Docker Swarm、ClamAV、NGINX、UIUX、Gmail API、AWS S3
Team
Shin-Chi Kuo (Developer)
Pei-Hsuan Chiu (UX Researcher)
My Role
Project Management
Full-stack Developer
Timeline
Dec 2020 - Present
(2 years)
Project Goals
  1. Digitize the scholarship application process, replacing the original cumbersome paper-based system.
  2. Provide students with a progress inquiry function, allowing them to keep track of their application status at any time.
  3. Provide automated statistical report generation function.
Core Functions
1. Scholarship Editor
  • Allow users to create a scholarship template that can be reused in the future.
  • Designed a content editor similar to Google Form to reduce the learning curve for users.
  • Provide a statistics dashboard and data export function.
2. Review Panel and Email System
  • Enables the reviewer to view and review the application content of applicants on the same page.
  • The system comes with an email notification function that automatically sends notification emails to students when the reviewer modifies the application status. This synchronizes the review process between students and the reviewers.
3. Share detailed list of applications
Share a detailed list of applications with other reviewers through a shared link, allowing for easy access and browsing on any device.
System Design
1. UX
Use Personas, User Journey Maps, and Information Architecture Diagrams to understand pain points and expectations throughout the application process. During the communication stage, use the Prototyping method to iterate the product and help operators quickly understand the process and issues.
1. Frontend
RWD
Extract reusable components
Extract and isolate complex and duplicated components for reuse in other pages.
Role management
The highest level of role can create reviewer accounts from the management panel. In addition, accounts with different permissions will have different data viewing and operation permissions in the frontend.
3. Backend
The operation roles of the scholarship system include students, academic affairs supervisors, scholarship coordinators, and review committee members. When designing the database schema and writing the backend API, special attention should be paid to the permission management.
Permissions
The middleware layer checks the permission of the logged-in account and blocks requests that do not have the required authorization.
Security and Operations
  • Implemented ClamAV to check student file uploads and block malicious files.
  • Utilized AWS S3 for file storage and management.
  • Utilized Docker Swarm to manage multiple Docker containers and perform seamless version updates.
  • Utilized Docker Secret to manage multiple API keys.
  • Wrote MongoDB Backup Scripts and built them into Docker, executing daily backup tasks.
Achievements
  1. Served approximately 5,000 users and processed around 9,500 online applications.
  2. The number of applicants grew by 2 times.
  3. Automated file statistics and compilation.