A large-scale, real-time Customer Support System integrated with a simple E-Commerce platform. This was developed as our ITI Graduation Project (2025) with 7 fully connected apps using:
Node.js, MongoDB, Socket.IO, React, Angular, and Express.
🎬 Watch the full walkthrough of the live system here:
🔗 LinkedIn Post (Video Demo)
| App | Link |
|---|---|
| Agent Dashboard | customer-support-agent-react |
| Admin Dashboard | customer-support-admin-angular |
| E-Commerce Store | ecommerce-react |
| E-Commerce Admin Panel | ecommerce-admin-react |
Note: Password for all users is
123456zZ
| Role | Application | |
|---|---|---|
| ziad.gamal.tech@gmail.com | Admin | Customer Support Admin |
| sarakhaled@example.com | Agent | Customer Support Agent |
| Role | Application | |
|---|---|---|
| ahmedmostafa@example.com | Customer | E-commerce Store |
| sondosomar@example.com | Admin | E-commerce Admin |
| App | Description | GitHub |
|---|---|---|
| Customer Support API | Backend logic: authentication, real-time socket handling, agent/chat tracking, auto-reassigning | customer-support-node |
| Customer Chat App | Angular app embedded in e-commerce site. Customers start live chat from frontend | ecommerce-chat-angular |
| Agent Dashboard | React dashboard where support agents handle live chats, statuses, and reassign tickets | customer-support-agent-react |
| Admin Dashboard | Angular admin panel to manage users, agents, and chat history | customer-support-admin-angular |
| E-Commerce API | Simulated e-commerce backend to support frontend & provide customer data | ecommerce-node |
| E-Commerce Web | Simple React frontend (products, cart, orders) with embedded customer chat | ecommerce-react |
| E-Commerce Admin Panel | React admin panel to manage products/categories for testing | ecommerce-admin-react |
docs/Business-Model.pdf– Covers app roles, features, and workflowdocs/ITI-Graduation-Project-Discussion.pdf– System architecture and implementation logic
- Real-time Chat System with Socket.IO
- Dynamic Agent Assignment with load balancing
- Agent Statuses: available, away, busy
- Chat Ticket Management: new, open, pending, resolved
- Email Verification & Role Approval system
- MongoDB Tracking Logs for chat & agent history
- Modular API structure with clean services, helpers, middleware, enums
| Layer | Tech |
|---|---|
| Backend | Node.js, Express, MongoDB, Mongoose |
| Real-time | Socket.IO |
| Auth | JWT, Email Verification |
| Frontend | React, Angular |
| Styling | Bootstrap, SCSS |
| Deployment | Railway (API), Vercel (Web) |
We were a team of 5 developers:
Repo contributions are distributed across our GitHub profiles, with main development logic by Ziad Gamal.
- ✅ Fully deployed and tested
- 🛠️ Used as a real-world graduation project
- 📦 Open for learning, forking, or extending
This project is licensed under the MIT License. See the LICENSE file for details.