Higher-education registration platform (Qatar) · Angular + Laravel

Dynamic Forms & Registration Platform

Lead front-end on a configurable form engine for a Qatar higher-education platform — a schema-driven renderer and a conditional page-routing rules engine, authored end to end.

AngularTypeScriptRules EngineDynamic FormsFull-Stack
~1,200
commits across 3 repos; top contributor on the public app
15+
field types in the schema-driven form renderer
100%
sole author of the conditional page-routing rules engine

The problem

A registration platform needed forms that non-engineers could configure — varying fields, validation, multi-page flows, and conditional routing — without a developer rebuilding the UI each time. That meant a generic, schema-driven form engine spanning a public app and an admin dashboard, plus role-based access control.

The approach

  • Built a runtime dynamic-form renderer (Angular) that renders forms from a backend JSON schema across 15+ field types — text, email, phone, date, file upload, currency, textarea, ratings, Likert scales, and address groups — with per-field validation (min/max, decimals, domain rules, server-side uniqueness) and conditional field visibility.
  • Designed and solely authored a conditional page-routing rules engine: rules route users to different form pages based on field conditions, with all/any logical operators and type-aware operands (date, file, rating, text, radio, checkbox).
  • Implemented multi-step form navigation with per-page validation gating and native browser back-button support via the History API.
  • Delivered a role & permission management UI (hierarchical permission dependencies, category-scoped access) and co-built the admin drag-and-drop form builder (20+ field types, theming, page breaks).

The outcome

  • Top committer on the public app and #2 on the admin dashboard across a long-lived codebase (Nov 2022 → 2025), spanning the renderer, rules engine, stepper, and registration flows.
  • Centralised the front-end on a single API service layer (BehaviorSubject state) for submissions, profiles, dependants, payments, booking history, and certificates.
  • Contributed across the stack into the Laravel API — discount-rules logic, payment middleware logging, and user-service query helpers — using Eloquent, mass-assignment guards, and DB transactions.

Honest note: Front-end ownership percentages use git blame against current HEAD (surviving authored lines), so they reflect code actually written, not just files touched. Client name withheld.