pearl-system

byCars Dakhni

Create a complete web-based Lead Management & Calling Assignment System. PROJECT OVERVIEW: The system will manage 18,000 leads (Name, Phone Number, Email ID) imported from an Excel file. The system will automatically assign leads to callers in batches of 10 records at a time, with a maximum limit of 200 leads per caller per day. USER ROLES: 1. Admin 2. Caller (Calling Team Member) --------------------------------------- AUTHENTICATION SYSTEM --------------------------------------- • Secure Login system required. • Admin default login: Email: [email] Password: admin • Admin must be able to change password. • Admin can create, edit, deactivate, and delete caller accounts. • Caller login with email & password. --------------------------------------- LEAD IMPORT SYSTEM --------------------------------------- • Admin can upload Excel (.xlsx / .csv). • Fields: - Name - Phone Number - Email ID • Data should be stored in database. • Each record must have unique Lead ID (auto generated). --------------------------------------- LEAD ASSIGNMENT LOGIC --------------------------------------- • Caller clicks "Get Leads". • System assigns exactly 10 unassigned leads. • A caller can receive maximum 200 leads per day. • After finishing 10 leads (all must be updated), caller can click "Get Next 10". • System must prevent assignment beyond 200 per day per caller. • Leads once assigned cannot be reassigned unless admin does it manually. --------------------------------------- CALL STATUS UPDATE RULES --------------------------------------- For each lead caller must update: - Call Status (Connected / Not Connected / Follow-up / Not Interested / Converted / etc.) - Mandatory Comment IMPORTANT RULES: • Once status is submitted, it CANNOT be edited by caller. • Caller can only ADD NEW COMMENT (log entry). • Each comment must: - Have timestamp - Be immutable (cannot be edited or deleted by caller). • Maintain full activity log history per lead. --------------------------------------- ADMIN CONTROL --------------------------------------- Admin can: • View all leads • Filter by status, caller, date • Edit call status • Edit comments • Delete comments if needed • Reassign leads • Delete leads • Export data (Excel) • View daily performance of each caller --------------------------------------- DASHBOARD REQUIREMENTS --------------------------------------- Dashboard visible to ALL users. Caller Dashboard (Read-only except own data): • Total leads assigned today • Completed today • Pending today • Total conversions • Status summary (charts) • Daily progress bar (out of 200) Admin Dashboard (Fully Functional): • Total leads • Total assigned • Total unassigned • Conversion rate • Caller performance table • Status distribution charts • Daily / Weekly / Monthly analytics • Export reports --------------------------------------- SYSTEM FEATURES --------------------------------------- • Clean, modern responsive UI • Role-based access control • Secure backend • Proper database structure • Audit log system • Search & filter functionality • Pagination for large records • Secure password hashing • Logout functionality --------------------------------------- TECHNICAL REQUIREMENTS --------------------------------------- Use: Frontend: React / Next.js Backend: Node.js + Express Database: PostgreSQL or MongoDB Authentication: JWT Charts: Chart.js or similar Excel Upload: SheetJS or similar library --------------------------------------- DATABASE STRUCTURE SUGGESTION --------------------------------------- Users Table: - id - name - email - password - role (admin / caller) - is_active - created_at Leads Table: - id - name - phone - email - assigned_to - assigned_date - status - created_at Lead_Comments Table: - id - lead_id - user_id - comment - timestamp Daily_Assignment_Log: - id - user_id - date - total_assigned --------------------------------------- SECURITY RULES --------------------------------------- • Caller cannot edit status once submitted. • Caller cannot edit/delete comments. • Admin has full control. • API endpoints must validate role. • Prevent SQL injection & unauthorized access. --------------------------------------- DELIVERABLES REQUIRED --------------------------------------- • Complete backend code • Complete frontend code • Database schema • API routes • Deployment instructions • Setup instructions Build production-ready scalable system. make all dashboard items workable for admin and admin panel shall be there to manage all items, admin can change the daily limit can upgrade or downgrade if needed, there should be smtp configuration option in admin panel to get mail notification to staff and Manager, there should one more opton of manager for all stall should have all previlages of admin except admin panel for [email] make it admin &change the password to admin and let me change the password accordingly after login

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document

System Requirements Document (SRD)

1. Introduction

This document outlines the system requirements for a web-based Lead Management & Calling Assignment System. The system is designed to manage leads efficiently, assign them to callers, and track their progress. It includes features for secure authentication, lead import, assignment, status updates, dashboards, and administrative controls.

2. System Overview

The Lead Management & Calling Assignment System will handle up to 18,000 leads (Name, Phone Number, Email ID) imported from Excel files. Leads will be assigned to callers in batches of 10 records, with a maximum limit of 200 leads per caller per day. The system will include role-based access control for Admins, Managers, and Callers, along with dashboards for performance tracking and analytics.

Page 1 of 6

3. Functional Requirements as story points

  • As Admin, I should be able to log in securely using a default account (admin@ourdns.in) with a customizable password after the first login.
  • As Admin, I should be able to change the daily lead assignment limit dynamically.
  • As Admin, I should be able to configure SMTP settings for email notifications to staff and Managers.
  • As Admin, I should be able to create, edit, deactivate, and delete Caller accounts.
  • As Admin, I should be able to view, filter, edit, reassign, delete, and export leads.
  • As Admin, I should be able to view daily performance analytics for Callers.
  • As Manager, I should have all privileges of Admin except access to the Admin panel.
  • As Caller, I should be able to log in securely using email and password.
  • As Caller, I should be able to request leads in batches of 10 records.
  • As Caller, I should be able to update call status and add mandatory comments for each lead.
  • As Caller, I should be able to view my daily progress and performance metrics on the dashboard.
  • As User, I should see a clean, modern, responsive UI with role-based access control.

4. User Personas

Page 2 of 6

Admin

  • Full control over the system.
  • Can manage users, leads, and system settings.
  • Can configure SMTP for notifications.
  • Can adjust daily lead assignment limits dynamically.

Manager

  • Similar privileges to Admin but without access to the Admin panel.
  • Can manage users and leads.
  • Can view analytics and dashboards.

Caller

  • Responsible for calling assigned leads.
  • Can update lead status and add comments.
  • Can view their own performance metrics.

5. Visuals Colors and Theme

The system will use a clean and professional color scheme:

  • Primary: #0052CC (Blue for buttons and headers)
  • Secondary: #F4F5F7 (Light gray for backgrounds)
  • Accent: #FF5630 (Red for alerts and errors)
  • Text: #172B4D (Dark gray for text)
  • Success: #36B37E (Green for success messages)
  • Charts: Use complementary colors for data visualization.
Page 3 of 6

6. Non-Functional Requirements

  • The system must be scalable to handle up to 18,000 leads efficiently.
  • Ensure high availability and reliability.
  • Secure authentication and role-based access control.
  • Responsive design for optimal performance across devices.
  • Audit logs for all activities.
  • Prevent SQL injection and unauthorized access.
  • Ensure data integrity and immutability for comments and logs.

7. Tech Stack

Frontend

  • React for Web

Backend

  • Python
  • FastAPI

Database

  • MySQL (preferred) or MariaDB
  • Alembic for migrations
Page 4 of 6

AI Tools

  • Litellm for LLM Routing
  • Langchain

Local Orchestration

  • Docker
  • docker-compose

Server-side Orchestration

  • Kubernetes

Additional Libraries

  • SheetJS for Excel file handling
  • Chart.js for data visualization

8. Assumptions and Constraints

  • The system will handle up to 18,000 leads at any given time.
  • Each lead must have a unique Lead ID.
  • Admin can dynamically adjust the daily lead assignment limit.
  • SMTP configuration will be handled via the Admin panel.
  • Manager role will have all Admin privileges except access to the Admin panel.
  • Caller cannot edit or delete submitted comments or statuses.
  • Leads once assigned cannot be reassigned unless manually done by Admin.
  • The system must comply with data protection regulations.
Page 5 of 6

9. Glossary

  • Lead: A potential customer record containing Name, Phone Number, and Email ID.
  • Caller: A user responsible for contacting leads and updating their status.
  • Admin: A user with full control over the system, including user and lead management.
  • Manager: A user with Admin-like privileges but without access to the Admin panel.
  • SMTP: Simple Mail Transfer Protocol, used for sending email notifications.
  • Audit Log: A record of all activities performed in the system for tracking and security purposes.

This updated SRD incorporates the requested changes, including the addition of a Manager role, SMTP configuration, dynamic daily limit adjustment, and customizable default admin account setup.

Page 6 of 6

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

No user flows yet.

The User Flow Agent will generate per-persona navigation diagrams after SRD updates.

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

No user flows yet.

The User Flow Agent will generate per-persona navigation diagrams after SRD updates.