Customer Experience's - Customer Resolution Center
The CRM and Portal system is an enterprise-grade platform that automates customer inquiry intake, handles real-time ticketing, tracks response time agreements, and integrates with corporate single sign-on directories. Key Features Dynamic Client Form Intake: Publicly accessible, dynamically generated forms (linked via unique UUIDs) that allow clients to submit support requests. Real-Time Admin Dashboard: A unified management console for staff to monitor submissions instantly, search through records, and filter data. Report Exporting: Built-in capability for administrators to export ticket and form submissions into various formats for offline reporting. Automated Client Notifications: Asynchronous confirmation emails sent directly to users upon form submission. SLA & Working Hours Tracking: Advanced Service Level Agreement (SLA) calculation that maps ticket resolution deadlines by adjusting for specific company branches, department shifts, and public holidays. Active Directory SSO Integration: Secure login mechanism allowing corporate users to access the dashboard using their company email and Windows credentials. Technology Stack(Frontend) Core Framework: Angular (v21) Styling & Layout: Tailwind CSS and PrimeNG UI library Communication: Socket.io client for real-time dashboard events Core Backend API Application Framework: Node.js, Express, and TypeScript Database & Storage: PostgreSQL (relational database for tickets, forms, and users) Real-time Server: Socket.IO WebSocket integration Background Queue: Redis-backed Bull queues for asynchronous email delivery and system tasks Directory Services: LDAP integration for Active Directory credential verification SLA Microservice ( calendar-service ) Application Framework: Node.js, Express, and TypeScript Inter-service Communication: gRPC server providing low-latency calendar computations to the primary backend Project Architecture & Data Flow Client Submission: A user submits data through the Angular frontend form. Data Insertion: The Express backend receives the payload, saves the entry to the PostgreSQL database, and schedules a client email notification task in the Redis-backed Bull queue. Dashboard Update: Simultaneously, the backend broadcasts a WebSocket message to update all active admin dashboard sessions in real time. SLA Calculation: When a submission is converted into a ticket, the core API makes a gRPC call to the Calendar microservice to compute the deadline based on active working hours while factoring out holidays and non-working hours.





