All Projects

Enterprise CRM System

A multi-tenant CRM unifying Sales, Billing, and Customer Care on a microservice platform — with real-time GraphQL subscriptions, role-based access control, and complete data isolation between tenants.

Overview

A multi-tenant enterprise CRM built on a microservice architecture, enabling companies to manage their entire customer lifecycle — from lead generation through billing and ongoing support — within a unified, real-time platform. Designed to serve multiple companies simultaneously with complete data isolation.

Key Features

  • Sales Pipeline: Visual kanban-style deal pipeline with stage management, activity logging, follow-up reminders, and win/loss tracking.
  • Billing & Invoicing: Automated invoice generation, payment tracking, subscription lifecycle management, and overdue alerts.
  • Customer Care: Support ticket system with SLA tracking, escalation rules, and canned responses for common issues.
  • Multi-tenancy: Complete data and configuration isolation between companies on shared infrastructure, with per-tenant branding options.
  • Real-time Notifications: GraphQL subscriptions push updates — new tickets, deal stage changes, payment receipts — to agents without any polling overhead.
  • Role-based Access Control: Granular permissions across all CRM modules configurable per user role within each tenant.

Architecture

Built with Loopback.js for structured, model-driven API scaffolding and Hasura for real-time GraphQL subscriptions. Services are orchestrated with Docker Compose and proxied through Nginx. PostgreSQL row-level security enforces tenant isolation at the database layer, ensuring zero cross-tenant data leakage. The Vue.js front end consumes GraphQL subscriptions for a live, collaborative experience.