Punjab Land Records Authority · built at LMKR
PLRA Land Records Platform — Auth & Admin
The central authentication service and admin portal securing every module of Punjab's microservice land-records platform.
AngularTypeScriptNode.jsExpressPostgreSQLgRPC
6+
Official roles under one RBAC model
15–20
Developers across teams relying on one auth service
Overview
- The Punjab Land Records Authority (PLRA) platform digitizes land administration end to end. A citizen applies for a property transfer, a patwari verifies it, a registrar approves it, and the land record updates. Around that core sit green certificate issuance, systematic registration of urban, peri-urban, and rural properties, digitization of the remaining mauzas, and incorporation of existing urban records into the Land Records Management Information System (LRMIS).
- The platform is a set of microservices — Angular, Node.js, .NET, PostgreSQL, and gRPC, with NADRA biometric verification — each owned by its own team, with roughly 15–20 developers plus QA, DevOps, a business analyst, and a project manager.
The problem
- Every module — transfers, registration, certificates, digitization — needs the same two answers: who is this user, and what are they allowed to do? In a land-records system, getting that wrong means unauthorized changes to property ownership. With many microservices built by separate teams, authentication and permissions had to be centralized, strict, and easy for every team to integrate with.
My role
- I owned the central authentication service and the admin portal. On the backend (Node.js, Express, PostgreSQL), I built login, roles, permissions, and designations for every module, exposed to other services over gRPC. On the frontend (Angular), I built the admin portal for user management, role management, and RBAC. I also integrated OTP delivery over SMS and email.
Approach & architecture
- Built one auth service that handles login, roles, permissions, and designations for every module, so no team re-implemented security on its own.
- Exposed authentication and permission checks to the other microservices over gRPC, giving every team a single, typed contract to integrate against.
- Modelled RBAC on real official roles — patwari, tehsildar, returning officer (RO), RPO, registrar, and admin — so each official can act only at their stage of the fixed approval sequence.
- Built the Angular admin portal for managing users, roles, designations, and permissions.
- Integrated OTP verification over SMS and email into the login flow.
- Coordinated the auth contract with the team behind each microservice, resolving integration conflicts as services evolved.
What I learned
- In a large microservice system, the auth service is a product for other engineers — a clear gRPC contract and early, frequent communication with every team mattered as much as the security logic itself. Centralizing permissions kept security rules in one place instead of drifting across many services.
Want to build something like this?
I'm open to full-stack and real-time projects. Let's talk.