Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

SmartCRM360

A comprehensive CRM application with workflow automation and KPI tracking built with React and Node.js.

Features

Core CRM Functionality

  • 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

AI-Powered Features

  • 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

Analytics & KPIs

  • 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

Modern UI/UX

  • 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

Technology Stack

Frontend

  • 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

Backend

  • 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

Installation & Setup

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn

Quick Start

  1. Clone the repository

    git clone <repository-url>
    cd SmartCRM360
  2. Install all dependencies

    npm run install-all
  3. Start the development servers

    npm run dev

    This will start both the backend server (port 5000) and frontend development server (port 3000).

Manual Setup

If you prefer to set up each part separately:

  1. Backend Setup

    cd server
    npm install
    npm run dev
  2. Frontend Setup (in a new terminal)

    cd client
    npm install
    npm start

API Endpoints

Leads

  • GET /api/leads - Get all leads (with optional filtering)
  • POST /api/leads - Create a new lead
  • PUT /api/leads/:id - Update a lead
  • DELETE /api/leads/:id - Delete a lead

Cases

  • GET /api/cases - Get all cases (with optional filtering)
  • POST /api/cases - Create a new case
  • PUT /api/cases/:id - Update a case
  • DELETE /api/cases/:id - Delete a case

Analytics

  • GET /api/analytics/leads - Get lead analytics
  • GET /api/analytics/cases - Get case analytics
  • GET /api/analytics/conversion - Get conversion metrics

AI Recommendations

  • GET /api/recommendations/lead/:id - Get AI recommendations for a lead
  • GET /api/recommendations/case/:id - Get AI recommendations for a case

Users & Automation

  • GET /api/users - Get all users
  • GET /api/automation-rules - Get automation rules

Database Schema

Users Table

  • id (TEXT, PRIMARY KEY)
  • name (TEXT, NOT NULL)
  • email (TEXT, UNIQUE, NOT NULL)
  • role (TEXT, DEFAULT 'agent')
  • created_at (DATETIME)

Leads Table

  • 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)

Cases Table

  • 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)

Automation Rules Table

  • 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)

AI Recommendation Engine

The application includes a rule-based AI recommendation engine that provides intelligent suggestions:

Lead Recommendations

  • 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

Case Recommendations

  • 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

Automation Rules

The system includes predefined automation rules that can be extended:

  1. High-value lead assignment: Automatically assign leads over 10,000ドル to managers
  2. Source-based assignment: Assign website leads to specific agents
  3. Custom rules: Create new rules based on any lead or case field

Development

Project Structure

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

Available Scripts

  • npm run dev - Start both frontend and backend in development mode
  • npm run server - Start only the backend server
  • npm run client - Start only the frontend development server
  • npm run build - Build the frontend for production
  • npm run install-all - Install dependencies for all packages

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support, email support@smartcrm360.com or create an issue in the repository.

About

Full-stack CRM with AI recommendations, workflow automation, and KPI analytics

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /