The challenges
Large Number of APIs
More than ten data sources with different formats, protocols, and constraints required a unified integration layer that stayed stable despite external system updates.
Personalization
Every content item could target a specific audience across 8 criteria. The personalization engine had to perform reliably under thousands of concurrent user sessions.
Stability Under Load
The portal shares infrastructure with the public site, requiring careful architecture for traffic isolation and stable performance during peak academic load periods.
Moodle Integration
Moodle’s complex authentication required custom SSO integration for seamless transition between the portal and LMS without repeated login.
Personalized Search
Standard full-text search was not sufficient — search results had to be filtered against each user's permissions and profile, requiring a dedicated search index architecture.
Editor Preview System
Angular SPA runs inside the Umbraco back-office. An embedded preview system lets editors view any page as a specific student before publishing.