A comprehensive CRM application with workflow automation and KPI tracking built with React and Node.js.
- Lead Management: Complete pipeline with stages (New, Contacted, Qualified, Won/Lost)
- Case Management: Customer service case tracking with status updates and escalation
- User Management: Role-based access with agent and manager roles
- Automation Rules: Automated lead assignment based on predefined conditions
- Recommendation Engine: AI suggestions for next best actions on leads and cases
- Smart Insights: Automated recommendations based on lead value, stage, and timing
- Case Escalation: Intelligent case prioritization and escalation suggestions
- Dashboard: Real-time overview of key metrics and recent activity
- Lead Analytics: Pipeline conversion rates, stage distribution, and value tracking
- Case Analytics: Resolution time tracking and status distribution
- Visual Charts: Interactive charts using Recharts for data visualization
- Responsive Design: Mobile-first design with Tailwind CSS
- Beautiful Interface: Modern, clean design with intuitive navigation
- Real-time Updates: Live data updates and smooth interactions
- Accessibility: WCAG compliant design patterns
- React 18: Modern React with hooks and functional components
- React Router: Client-side routing
- Tailwind CSS: Utility-first CSS framework
- Recharts: Data visualization library
- Lucide React: Beautiful icon library
- Axios: HTTP client for API calls
- Node.js: JavaScript runtime
- Express.js: Web application framework
- SQLite: Lightweight database
- UUID: Unique identifier generation
- Moment.js: Date manipulation
- Node-cron: Scheduled task automation
- Node.js (v16 or higher)
- npm or yarn
-
Clone the repository
git clone <repository-url> cd SmartCRM360
-
Install all dependencies
npm run install-all
-
Start the development servers
npm run dev
This will start both the backend server (port 5000) and frontend development server (port 3000).
If you prefer to set up each part separately:
-
Backend Setup
cd server npm install npm run dev -
Frontend Setup (in a new terminal)
cd client npm install npm start
GET /api/leads- Get all leads (with optional filtering)POST /api/leads- Create a new leadPUT /api/leads/:id- Update a leadDELETE /api/leads/:id- Delete a lead
GET /api/cases- Get all cases (with optional filtering)POST /api/cases- Create a new casePUT /api/cases/:id- Update a caseDELETE /api/cases/:id- Delete a case
GET /api/analytics/leads- Get lead analyticsGET /api/analytics/cases- Get case analyticsGET /api/analytics/conversion- Get conversion metrics
GET /api/recommendations/lead/:id- Get AI recommendations for a leadGET /api/recommendations/case/:id- Get AI recommendations for a case
GET /api/users- Get all usersGET /api/automation-rules- Get automation rules
id(TEXT, PRIMARY KEY)name(TEXT, NOT NULL)email(TEXT, UNIQUE, NOT NULL)role(TEXT, DEFAULT 'agent')created_at(DATETIME)
id(TEXT, PRIMARY KEY)name(TEXT, NOT NULL)email(TEXT, NOT NULL)phone(TEXT)company(TEXT)source(TEXT)stage(TEXT, DEFAULT 'new')assigned_to(TEXT, FOREIGN KEY)value(REAL, DEFAULT 0)created_at(DATETIME)updated_at(DATETIME)
id(TEXT, PRIMARY KEY)title(TEXT, NOT NULL)description(TEXT)status(TEXT, DEFAULT 'open')priority(TEXT, DEFAULT 'medium')assigned_to(TEXT, FOREIGN KEY)customer_email(TEXT)created_at(DATETIME)updated_at(DATETIME)resolved_at(DATETIME)
id(TEXT, PRIMARY KEY)name(TEXT, NOT NULL)condition_field(TEXT, NOT NULL)condition_operator(TEXT, NOT NULL)condition_value(TEXT, NOT NULL)action_type(TEXT, NOT NULL)action_value(TEXT, NOT NULL)is_active(BOOLEAN, DEFAULT 1)created_at(DATETIME)
The application includes a rule-based AI recommendation engine that provides intelligent suggestions:
- High-value leads: Prioritize immediate contact for leads over 5,000ドル
- Follow-up reminders: Suggest follow-up for contacted leads with no activity for 3+ days
- Proposal readiness: Recommend proposal creation for qualified high-value leads
- Escalation alerts: Suggest escalation for high-priority cases open for 4+ hours
- Follow-up reminders: Recommend customer follow-up for cases aging beyond 2 days
The system includes predefined automation rules that can be extended:
- High-value lead assignment: Automatically assign leads over 10,000ドル to managers
- Source-based assignment: Assign website leads to specific agents
- Custom rules: Create new rules based on any lead or case field
SmartCRM360/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ ├── pages/ # Page components
│ │ ├── services/ # API services
│ │ └── ...
│ └── public/
├── server/ # Node.js backend
│ ├── index.js # Main server file
│ └── package.json
└── package.json # Root package.json
npm run dev- Start both frontend and backend in development modenpm run server- Start only the backend servernpm run client- Start only the frontend development servernpm run build- Build the frontend for productionnpm run install-all- Install dependencies for all packages
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email support@smartcrm360.com or create an issue in the repository.