Задача клиента:
Разработать систему управления заявками, которая:
Позволит администраторам удобно управлять пользователями и их заявками;
Обеспечит рабочим предриятия прозрачную историю их обращений;
Автоматизирует процесс подачи и обработки заявок;
Добавит возможность обсуждения каждой заявки в отдельном чате.
Цель:
Создать интуитивно понятный инструмент, который упростит коммуникацию между клиентами и администрацией, повысит эффективность обработки запросов и улучшит пользовательский опыт.
Для решения задачи была создана комплексная система со следующей архитектурой:
1. Серверная часть:
База данных:
MySQL с оптимизированной структурой таблиц (users, requests, messages)
Бэкенд:
Node.js + Express для REST API
Axios для обработки HTTP-запросов
WebSocket (Socket.io) для реализации чата в реальном времени
2. Клиентская часть:
Фронтенд: React.js с функциональными компонентами
Состояние: Redux Toolkit для управления данными
WebSocket: Подключение к серверу для мгновенных сообщений
3. Ключевые функции системы:
CRUD-операции для заявок через REST API
Система ролей (админ/пользователь)
История изменений статусов заявок
Вложенные чат-комнаты для каждой заявки
Клиент полностью доволен выполненной работой.