Business Client need Web Development
Contact person: Business Client
Phone:Show
Email:Show
Location: NORTH 24 PARGANAS, India
Budget: Recommended by industry experts
Time to start: As soon as possible
Project description:
"System: [login to view URL] (Custom Modular Architecture,)
---
Overview
We want to build a CRM module inside our existing project [login to view URL], which already uses a custom modular system.
This module will include Contacts, Leads, Tasks, Pipeline, Reports, Files, and Roles.
It must have a simple, clean interface built using Blade + [login to view URL] + TailwindCSS.
Every table must support search, filters, sorting, pagination, and inline actions, and be ready for future upgrades like adjustable table headings (similar to Perfex CRM adjustable list plugin).
Important:
All new database tables must start with the prefix crm_ — for example:
crm_contacts, crm_leads, crm_tasks, crm_pipeline, crm_reports, crm_files, etc.
---
Technology Stack
Laravel 11 (PHP 8.2+)
Blade Templates + [login to view URL] + TailwindCSS
MySQL 8+
Spatie Laravel Permission (for roles)
Spatie Activity Log (for activity tracking)
Laravel Notifications (for task reminders and alerts)
Uses existing [login to view URL] custom module structure (no Nwidart)
Local storage for files (configurable later)
---
CRM Modules and Functions
1. Contact Management
Table Name: crm_contacts
Add, edit, delete, and view contacts.
Assign contacts to users or managers.
Add notes and upload related files.
Use tags to organize contacts.
Restore deleted contacts.
View contact activity history.
Table & List Functions
Sort columns (Name, Company, Email, Phone, Assigned User, Created Date).
Pagination (10, 25, 50, 100 items per page).
Inline edit for tag or assigned user.
Multi-select for bulk delete/export.
Search & Filters
Search by name, email, or phone.
Filters: Assigned User, Tag, Company, Created Date, Status (Active/Archived).
Actions
Add Contact, Edit, Delete, View, Archive, Export, Reset Filters.
---
2. Lead Management
Table Name: crm_leads
Add, edit, delete, and convert leads.
Assign leads to users or teams.
Track lead stages (New, Contacted, Qualified, Won, Lost).
Add notes, tasks, and attachments.
Convert to Contact or Deal.
Table & List Functions
Sort (Name, Email, Source, Stage, Assigned User, Created Date).
Inline stage update without page reload.
Bulk delete/export.
Pagination with adjustable limit.
Search & Filters
Search by lead name, email, or company.
Filters: Stage, Source, Assigned User, Date Range, Lead Score.
Actions
Add Lead, Convert, Mark as Won/Lost, Export, Reset Filters.
---
3. Task & Activity Management
Table Name: crm_tasks
Add, edit, delete, and complete tasks.
Assign tasks to users.
Link tasks with contacts or leads.
Add notes or attachments.
View task activity timeline.
Table & List Functions
Columns: Title, Type, Priority, Due Date, Status, Assigned To.
Inline toggle of status.
Sorting (Due Date, Priority, Assigned User).
Pagination.
Search & Filters
Search by Task Title or Linked Contact/Lead.
Filters: Type, Priority, Status, Assigned User, Due Date Range.
Actions
New Task, Mark Complete, Delete, Reset Filters.
---
4. Sales Pipeline / Deals
Table Name: crm_pipeline
Add, edit, and delete deals.
Assign deals to users or teams.
Manage deal stages (Prospect, Negotiation, Proposal, Closed Won, Closed Lost).
Link deals with contacts or companies.
Add notes or files.
Update deal value and close date.
List View
Columns: Deal Name, Stage, Value, Owner, Close Date, Probability, Created Date.
Sortable and paginated.
Inline updates for Stage, Probability, Close Date.
Kanban View
Drag & drop deals between stages using Alpine.js.
Auto-update stage on drop.
Search & Filters
Search by Deal or Company Name.
Filters: Stage, Owner, Value Range, Close Date, Probability.
Actions
Add Deal, Switch Kanban/List, Export, Reset Filters.
---
5. Reporting & Analytics
Table Name: crm_reports
Dashboard showing total leads, contacts, and deals.
Conversion rate by user/team.
Deals won/lost chart.
Revenue by stage and time period.
Export reports to CSV or PDF.
Filters & Table
Filters: Date Range, User, Stage.
Chart types: Bar, Line, Pie.
Sortable user performance table.
---
6. User Roles & Permissions
Table Name: crm_roles
Roles: Admin, Manager, Executive.
Admin: full access.
Manager: view/manage team data.
Executive: access only assigned records.
Role-based button visibility (delete/export).
Dynamic permissions with Spatie package.
---
7. Document & File Management
Table Name: crm_files
Upload, download, and delete files (PDF, DOCX, XLSX, JPG, PNG).
Link files to contacts, leads, or deals.
Auto-rename files using record ID.
Preview supported file types.
Search and pagination in file list.
---
Global Search and Filters
Global search across contacts, leads, and deals.
Collapsible filter panel using Alpine.js.
Reset Filters button.
Filters saved in session (reopen retains filters).
Instant search and update using Alpine.js.
---
Frontend Components
[login to view URL]: Common table structure with dynamic columns.
[login to view URL]: Reusable filter UI.
[login to view URL]: Used for create/edit popups.
[login to view URL]: Standard pagination.
[login to view URL]: For color-coded status labels.
---
Future Upgrade (Adjustable Table Headings)
All tables generated from $columns array.
User column preferences stored in user_table_preferences.
Role-based default layouts.
Frontend ready for drag-and-drop column order via Alpine.js.
---
Timeline (8 Days)
Day Work Description
Day 1 Setup CRM module structure, routes, and all crm_ tables.
Day 2 Build Contacts module (CRUD, search, filters, pagination).
Day 3 Build Leads module (CRUD, stage control, filters).
Day 4 Build Tasks module (CRUD, filters, inline actions).
Day 5 Build Pipeline module (list and Kanban view).
Day 6 Build Reports and Analytics (filters and exports).
Day 7 Add Roles, Permissions, and File Management.
Day 8 Final testing, bug fixes, and documentation.
---
Developer Requirements
Strong Laravel 11, Blade, [login to view URL], and TailwindCSS knowledge.
Must use existing [login to view URL] module system (no Nwidart).
Every new database table must start with crm_ prefix.
Clean, commented code and reusable Blade components.
Daily commits to GitHub.
Experience with admin dashboards or CRM projects preferred.
---
Notes
Only frontend and backend CRUD required (no external APIs).
All modules must include search, filters, sort, pagination, and inline actions.
Code should be scalable for future upgrades like adjustable columns." (client-provided description)
Matched companies (4)

El Codamics

TechGigs LLP

Conchakra Technologies Pvt Ltd
