CRM System — Role-Based Customer Management
Enterprise CRM with three distinct portals — Admin, Employee, and Client — built with TypeScript, role-based access control, and scalable architecture for streamlined customer relationship management.
Overview
A fully-featured Customer Relationship Management (CRM) system with distinct, purpose-built portals for each role type — ensuring that every user sees exactly what they need, nothing more.
Role Portals
Admin Portal
- Full system oversight — users, clients, pipelines, and analytics
- User management: create, update, deactivate accounts
- Reporting and performance metrics
Employee Portal
- Personal client pipeline management
- Task and follow-up tracking
- Communication history with clients
Client Portal
- Self-service account management
- Service request and status tracking
- Communication with assigned employees
Technical Highlights
- TypeScript throughout — type-safe, refactorable codebase
- RBAC — granular permissions per role
- JWT authentication — secure sessions with refresh tokens
- Clean architecture — separation of business logic from controllers and persistence
- RESTful API with proper data validation at every layer