02 Functions
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.
03 System Design
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.