net·devs
← Work
Ben-Gurion University of the NegevHigher Education

BGU Student Portal

BGU Student Portal screenshot 1
BGU Student Portal screenshot 2
BGU Student Portal screenshot 3

A closed, authenticated portal for students and faculty, running on shared infrastructure with the public site. Every content item is personalized across 8 criteria — faculty, year, user type, and more. The portal integrates with 10+ APIs: schedules, grades, course payments, assignments, and Moodle SSO. Editors preview how any page will look for a specific user before publishing.

Challenges

Content personalization across 8 dimensions

Every content item can be targeted to specific combinations of faculty, year, department, user type, and four other criteria. The personalization engine had to evaluate these combinations efficiently for every page load without hammering the database.

Managing 10+ API integrations

Schedules, grades, course payments, assignments, and Moodle SSO each have their own data contracts and failure modes. We designed the integration layer to degrade gracefully — a slow grades API shouldn't block the schedule from loading.

Editor preview from another user's perspective

Editors needed to see exactly how a page would render for a specific student or faculty member before publishing. The Angular SPA runs embedded inside the Umbraco back-office, letting editors impersonate any user role for preview without touching production data.

Our approach

01

Personalization architecture

Designed the 8-criteria personalization model and defined how content targeting rules are stored, evaluated, and applied at render time — balancing flexibility for editors with performance under load.

02

API integration layer

Built a unified integration layer for 10+ external APIs — schedules, grades, payments, assignments, Moodle SSO. Each integration has its own error boundary so a slow or failing API degrades gracefully without blocking other data.

03

Angular SPA with embedded preview

Delivered the Angular SPA that runs the student and faculty experience, then embedded it inside the Umbraco back-office so editors can preview any page from the perspective of a specific user before publishing.

04

Shared infrastructure deployment

Deployed the portal on shared AWS infrastructure (ECS Fargate, RDS, S3) with a separate domain and root page. Leveraged the public site's existing setup to minimize operational overhead.

Result

Fully personalized experience per user. Seamless Moodle SSO. Shared infrastructure keeps operational cost low.

By the numbers

8

Personalization criteria

10+

API integrations

yes

Infrastructure shared with public site

Tech stack

C#.NETUmbraco CMSAngularAWSSSO

We want to hear your thoughts.

our CTO Kyrylo Osadchuk, will reply within 24 hours. No SDR funnel.