A modern, enterprise-grade Customer Relationship Management (CRM) platform designed to streamline sales pipelines, visualize data, and manage leads in real-time. Built with a focus on performance, security, and a premium User Experience.
- Interactive Dashboards: Real-time data visualization using Recharts to track pipeline health, win rates, and lead acquisition sources.
- Instant Exporting: One-click PDF report generation designed specifically for stakeholder and BA reporting.
- WebSocket Integration: Powered by
Socket.io, any updates made to a lead's status are instantly broadcasted to all connected clients without needing a page refresh.
- Drag-and-Drop Interface: Easily transition leads through the sales funnel (New → Contacted → Qualified → Won/Lost) using an intuitive drag-and-drop Kanban board.
- Optimistic UI Updates: Powered by TanStack React Query, the interface responds instantly to user actions while syncing with the database in the background.
- Built with Tailwind CSS and Framer Motion, the application features a modern "Glassmorphic" aesthetic with smooth stagger animations, backdrop blurs, and highly responsive micro-interactions.
- MySQL Database: Fully relational database structure ensuring data integrity across Leads, Companies, and Users.
- Security Headers & Rate Limiting: The Express backend is fortified with
Helmet.jsandexpress-rate-limitto prevent brute-force attacks and XSS vulnerabilities. - JWT Authentication: Secure stateless authentication for user sessions.
Frontend:
- React (Vite)
- Tailwind CSS
- Framer Motion (Animations)
- TanStack React Query (State Management & Caching)
- Recharts (Data Visualization)
- Lucide React (Icons)
Backend:
- Node.js & Express
- MySQL (via
mysql2connection pooling) - Socket.io (Real-time events)
- JSON Web Tokens (Auth)
- Helmet & Express Rate Limit (Security)
- Node.js (v16+)
- MySQL Server running locally.
-
Clone the repository:
git clone https://github.com/Bulee048/LeadFlow-CRM.git cd LeadFlow-CRM -
Setup the Database:
- Create a MySQL database named
leadflow_crm. - Configure the
server/.envfile:PORT=5050 JWT_SECRET=your_super_secret_jwt_key DB_HOST=localhost DB_USER=root DB_PASSWORD=root DB_NAME=leadflow_crm DB_PORT=3306
- Create a MySQL database named
-
Install Dependencies:
# Install Server dependencies cd server npm install # Install Client dependencies cd ../client npm install
-
Seed the Database:
# From the server directory, populate the DB with mock data node seed.js -
Run the Application: Open two terminals:
Terminal 1 (Backend):
cd server npm run devTerminal 2 (Frontend):
cd client npm run dev -
Login to the Application: Once the application is running, you can log in using the default seeded admin credentials:
- Email:
admin@gmail.com - Password:
password
- Email:
LeadFlow CRM was engineered not just as a technical showcase, but as a robust business tool.
- The React Query caching strategy severely reduces database load, cutting infrastructure costs.
- WebSockets eliminate "stale data" errors during multi-user collaboration.
- The Kanban methodology implemented reduces sales-cycle friction and improves rep efficiency.
- Automated Seeding Scripts allow for instant deployment to QA environments for rapid testing.