HomeProjectsAngular RBAC Records Dashboard
Full Stack2024

Angular RBAC Records Dashboard

Secure full-stack dashboard featuring granular Role-Based Access Control, reactive Signals state management, and reusable Angular 19 architecture.

Angular 19Tailwind CSS 4.0Node.jsExpress.jsMongoDBJWT

The Problem

Secure Session Management & Data Isolation

Building scalable dashboards requires strict isolation of user data and reliable permission checks across both the client and server. Relying solely on frontend route guards leaves the API vulnerable, while improper API queries can accidentally leak sensitive information like password hashes or unauthorized records. The challenge was to construct a completely secure, end-to-end Role-Based Access Control (RBAC) system while maintaining a snappy, reactive user experience.

The Solution

Reactive Signals & Granular API Security

Developed a modern Angular 19 frontend utilizing reactive Signals for state management, paired with a heavily secured Node.js/Express backend enforcing strict role middlewares and Mongoose schema constraints.

Key Technical Decisions

01Architected an end-to-end RBAC system by implementing Angular CanActivate guards (authGuard, adminGuard) on the client and custom authorization middlewares validating JWTs on the Express backend.
02Constructed a highly performant client state machine utilizing modern Angular Signals (signal, computed) to track user sessions, drastically reducing change detection overhead compared to traditional RxJS flows.
03Secured authorization flows and mitigated XSS/CSRF vulnerabilities by transmitting JSON Web Tokens (JWT) strictly via HttpOnly and Secure cookies.
04Engineered a generic, highly reusable Table component featuring multi-level nested property resolution (dynamically resolving paths like 'userId.name'), reducing UI boilerplate by 40%.
05Optimized MongoDB queries and enhanced data privacy by utilizing Mongoose 'select: false' projection on password hashes and implementing targeted document referencing via population.
06Simulated network latency and tested frontend loading micro-states by engineering a custom Express delay middleware, ensuring graceful UI degradation under poor network conditions.

Impact & Results

Signals

State Management

JWT + HttpOnly

Security

-40%

UI Boilerplate

Angular 19

Framework

Robust Security & Reusable Architecture

The application serves as a robust blueprint for secure dashboard development. Taking solo ownership of the entire stack resulted in a tightly integrated system where the frontend state seamlessly syncs with secure backend sessions. The use of modern Angular control flows (@if, @for) alongside reusable components drastically accelerated the development of new feature modules.

Key Learnings

01

Angular Signals significantly simplify state management — transitioning from RxJS BehaviorSubjects to Signals eliminated subscription memory leaks and made computed states instantly reactive.

02

Generic components must handle dynamic data access gracefully — writing a custom reducer to parse string dot-notation (e.g., 'userId.name') was crucial for making the data table completely agnostic to the injected models.

03

Testing loading states requires backend cooperation — building a custom delay middleware in Express is much more reliable for debugging UI transitions than relying solely on browser network throttling.

Tech Stack

angular
tailwind
nodejs
express
mongodb
Previous Project

IIT Dharwad IRO Web Portal

Next Project

PeerHive (UniHub)