React 19 Node.js Express MongoDB JWT RBAC

Lead Management System

Full-stack CRM application for enterprise lead routing, assignment, and SLA monitoring. Built for sales operations teams to reduce manual effort, enforce routing policy, and improve queue visibility.

Problem Solved

Sales teams lose valuable hours manually assigning leads and tracking ownership transitions across spreadsheets, chats, and disconnected tools. This creates delayed follow-ups, uneven agent load, and poor SLA accountability.

The Lead Management System automates lead intake, assignment, and queue dispatch while preserving full auditability. Teams get real-time visibility into queue health, unassigned inventory, and SLA risk.

Technical Architecture

Frontend Stack

React 19 functional components, React Router v7, Axios integration, Recharts analytics, and protected routes with JWT validation for role-aware navigation.

Backend Stack

Node.js/Express REST API with Mongoose ODM, JWT + bcrypt auth, Joi request validation, and middleware hardening via Helmet, CORS, and rate limiting.

Assignment Engine Strategies

// Routing strategy selection
switch (rule.strategy) {
  case "direct":
    return assignDirect(lead, rule.userId);
  case "round_robin":
    return assignRoundRobin(lead, rule.queueId);
  case "queue":
    return assignToQueue(lead, rule.queueId);
  default:
    throw new Error("Unsupported routing strategy");
}

Core Features

Lead Management

Full CRUD, advanced search/filter/sort, lead scoring, bulk actions, and assignment history.

Assignment Engine

Direct, round-robin, and queue-based routing with priority evaluation and capacity awareness.

Queue Management

Multi-queue SLA controls, workload balancing, dispatch automation, and claim/auto-claim worklists.

Operational Dashboards

KPIs for queue-owned, agent-owned, unassigned, SLA risk, plus trend analysis with Recharts.

Security and Audit

Role-based access control, JWT auth, complete audit logging, and secure password handling.

Production Readiness

Structured validation, rate-limited APIs, and operational workflow coverage across 8+ modules.

How to Run Locally

# Backend
cd LMS-Server
npm install

# .env
PORT=3000
MONGODB_URI=mongodb://localhost:27017/lms-server
JWT_SECRET=your-secret-key
ALLOWED_ORIGINS=http://localhost:3002

npm run dev
# API: http://localhost:3000/api
# Frontend
cd LMS-Admin
npm install

# .env
REACT_APP_API_URL=http://localhost:3000/api

npm start
# App: http://localhost:3002