Association Membership Portal Modernization
The Challenge
A particular challenge was to deliver on the rather unique identity and data security requirements for this type of mobile application deployment. It did not allow for any corporate or user identifiers to reach the cloud servers. The challenge was to de-identify all private company information (name, emails, product names, etc.) before they made it to the database and reconstruct them in the application in real-time. For example, if Acme Corp sells a product called Foo Bar, we couldn’t save either the label “Acme Corp” or “Foo Bar” in the database but the labels had to be re-inserted while the application was in use (that is on the client side).
What We Built
Rebuilt the portal on a proper 3-tier architecture: Angular front end, Node.js backend, Dataverse accessed through Graph API
Presented CIFFA with a clear identity migration choice (legacy Azure AD B2C vs. Entra ID) instead of deciding for them, so they made an informed call on their own sign-in infrastructure
Reviewed the former dev team's C# integration code and discovered the LMS auth flow required generating and managing tokens, not just passing an email address as originally scoped, then built the correct flow in Node.js
Delivered entirely inside CIFFA's own infrastructure: their Azure environment, their GitHub, their Jira, with full sprint visibility on a two-week cadence throughout