Все проекты

Сервисный Портал
«Эффективная Техника»

Единая платформа для управления заявками на обслуживание оборудования — для сотрудников и клиентов.

3 Роли сотрудников
23 Экранов в системе
10+ Email-уведомлений
2 Личных кабинета
Предпосылки

Почему появился этот портал

«Эффективная Техника» обслуживает упаковочное оборудование у десятков B2B-клиентов по всей России. До портала весь сервисный процесс держался на звонках, почте и таблицах.

❌ Как было раньше

📞 Заявки по телефону и email
Клиент звонит или пишет письмо. Информация теряется, забывается, путается между менеджерами. Нет единого журнала обращений.
📊 Учёт в Excel
Заявки и оборудование фиксировались в таблицах вручную. Одновременная работа нескольких сотрудников — постоянные конфликты и устаревшие данные.
🙅 Клиент не знает статус
Клиент вынужден звонить и уточнять: «Ваш инженер приедет?», «Когда будет готово?». Нет прозрачности, нет самообслуживания.
📁 Документы в почте и папках
Паспорта оборудования, акты и инструкции разбросаны по почтовым ящикам и локальным дискам. Найти нужный документ — задача.

✅ Как стало с порталом

🎫 Единая система заявок
Все обращения в одном месте. Каждая заявка имеет номер, статус, ответственного и историю. Ничего не теряется.
🏭 CRM оборудования
Каждый станок каждого клиента — в базе. Гарантийные сроки, серийные номера, история обслуживания — всегда под рукой у любого сотрудника.
👤 Личный кабинет клиента
Клиент сам создаёт заявку, отслеживает статус и переписывается с сервисом. Автоматические email при каждом изменении — без лишних звонков.
📁 Документы в одном месте
Все файлы привязаны к клиенту или оборудованию и доступны через личный кабинет. Клиент скачивает паспорт станка сам, без запроса менеджеру.

🎨 Дизайн — продолжение фирменного стиля

Визуальная концепция портала разработана на основе детального анализа сайта vekpmt.ru. Цветовая палитра, типографика и характер интерфейса полностью повторяют фирменный стиль компании — портал воспринимается как органичная часть экосистемы «Эффективной Техники», а не сторонний инструмент.

Что это

Для чего нужен портал

«Эффективная Техника» обслуживает упаковочное оборудование у B2B-клиентов. Раньше заявки приходили по телефону и email — теперь всё в одном месте.

📋

Заявки на обслуживание

Клиент создаёт заявку через личный кабинет — указывает оборудование, описывает проблему, прикладывает фото. Менеджер назначает инженера, меняет статус. Вся переписка, файлы и история изменений хранятся внутри заявки — ничего не теряется.

🏭

Учёт оборудования

Каждая единица оборудования привязана к конкретному клиенту. В карточке станка — модель, серийный номер, дата установки, гарантийный срок, технические характеристики и полная история заявок. Инженер на выезде сразу знает, с чем работает.

👤

База клиентов (CRM)

Полный профиль каждого клиента: название организации, ИНН, юридический и фактический адрес, реквизиты для выставления счетов, контактное лицо и телефон. Одним кликом — вся история сотрудничества и текущие заявки.

📁

Документооборот

Сотрудники загружают в систему паспорта оборудования, акты выполненных работ, инструкции, сертификаты и любые другие файлы. Документы привязываются к клиенту или конкретному станку и становятся доступны клиенту прямо в его личном кабинете.

📅

Календарь событий

Сотрудники планируют выезды инженеров, плановые техобслуживания и любые рабочие события. Общие события видит вся команда, личные — только сам сотрудник. Всегда понятно, кто занят и что запланировано на ближайшие дни.

🔐

Личный кабинет клиента

Отдельный защищённый вход для каждого клиента. Клиент самостоятельно подаёт заявки, следит за их статусом, переписывается с сотрудниками и скачивает документы на своё оборудование — без звонков и писем.

🔔

Email-уведомления

Система сама информирует нужных людей при любом важном событии: новая заявка, смена статуса, назначение инженера, ответ клиента. Каждый сотрудник выбирает в профиле, о чём он хочет получать уведомления, и по каким каналам.

👥

Управление командой

Директор создаёт учётные записи сотрудников, назначает роли (директор, менеджер, инженер) и настраивает индивидуальные права доступа — кто может видеть клиентов, редактировать оборудование, одобрять регистрации. Можно заблокировать сотрудника, не удаляя его историю работы.

Два типа пользователей — одна система

Сотрудники (директор / менеджер / инженер) работают через Панель сотрудника с полным доступом ко всем данным и инструментам. Клиенты входят через Личный кабинет и видят только свои заявки, своё оборудование и свои документы — никакой лишней информации.

Технологии

Архитектура системы

Классическая трёхзвенная архитектура: React-фронт → Express API → PostgreSQL. Никаких внешних облаков — всё на вашем VPS.

Браузер
React Frontend
TypeScript · Vite · Tailwind CSS
Браузер
Личный кабинет
React SPA · отдельные маршруты /client/*
↓ HTTPS / portal.vekpmt.ru ↓
Nginx (VPS)
Reverse Proxy
SSL/TLS · Gzip · Static files · Security headers
↓ API ↓
Node.js (PM2)
Express API
JWT Auth · Rate Limiting · File Upload
↓ База данных ↓
PostgreSQL
База данных
21+ таблиц · UUID PK · JSONB для permissions
Список заявок

Панель сотрудника — список заявок

Главный рабочий экран сотрудника. Все обращения в одной таблице — с фильтрами по статусу, типу, инженеру и клиенту.

🔒 portal.vekpmt.ru
Все заявки
Новая заявка
Клиенты
Оборудование
Документы
Календарь
Настройки
Заявки
Фильтры
+ Новая заявка
Клиент / Оборудование
Тип / Инженер
Дата
Статус
#112
Клиент А
Модель A-160
Гарантия
Инженер 1
24.04.2026
Новая
#111
Клиент Б
Модель A-130
Ремонт
Инженер 2
23.04.2026
В работе
#110
Клиент В
Модель TUBE
Техобслуживание
Инженер 1
22.04.2026
Выполнена
#109
Клиент А
Модель FIL-NT
Ремонт
Инженер 3
21.04.2026
Ожидание
🎫

Заявки на обслуживание

Полный цикл работы с заявкой: создание, назначение ответственного инженера, смена статуса, история изменений. Три независимых канала общения: переписка с клиентом, внутренний чат сотрудников (клиент не видит) и личные примечания.

📎

Файлы и вложения

К любому сообщению в заявке можно прикрепить фото, видео, документ или архив — до 60 МБ. Файлы хранятся на сервере и доступны в любое время через защищённую ссылку.

👥

Сотрудники и роли

Три роли: Директор (полный доступ), Менеджер (работа с клиентами и заявками), Инженер (свои заявки). Для каждого сотрудника — настраиваемые разрешения, аватар, профиль и смена пароля.

⚙️

Типы и статусы заявок

Директор самостоятельно настраивает типы заявок (Гарантия, Ремонт, ТО и любые другие), задаёт список статусов для каждого типа и выбирает цветовые метки для удобной навигации.

📋

Регистрация клиентов

Новый клиент заполняет анкету на сайте портала. Заявка на регистрацию поступает менеджеру — он одобряет или отклоняет её с указанием причины. Клиент получает уведомление на email.

🔔

Email-уведомления

Система автоматически рассылает письма при ключевых событиях: новая заявка, смена статуса, назначение инженера, новое сообщение от клиента. Каждый сотрудник настраивает нужные ему уведомления в своём профиле.

📊

Дашборд и статистика

Главная страница показывает счётчики заявок по статусам (Новые, В работе, Ожидание, Выполнены), последние обращения и активность. Вся ключевая информация — в одном месте.

🏭

Оборудование клиентов

Каждый станок привязан к клиенту: модель, серийный номер, дата установки, гарантийный срок, технические характеристики. История всех заявок по конкретной единице оборудования.

📁

Документооборот

Загрузка и хранение документов: акты, паспорта оборудования, инструкции, сертификаты. Документы можно привязать к конкретному клиенту или единице оборудования. Доступ клиенту через ЛК.

Карточка заявки

Работа с заявкой — переписка и статусы

Внутри каждой заявки — полная история: переписка с клиентом, внутренний чат сотрудников, вложенные файлы и журнал изменений.

🔒 portal.vekpmt.ru
Все заявки
Новая заявка
Клиенты
Оборудование
Документы
Календарь
Настройки
Заявка #112 — Клиент А · Модель A-160
Статус: Новая ▾
Назначить инженера
Тип
Гарантия
Инженер
Инженер 1
Создана
24.04.2026
Гарантия
Активна
Переписка с клиентом
Служебный чат
Примечания
История
КА
Клиент А · 24.04.2026 10:14
Добрый день! Станок A-160 не подаёт плёнку, на экране ошибка E04. Прошу помочь.
МП
Менеджер · 24.04.2026 11:02
Здравствуйте! Заявка принята, назначаем инженера. Ожидайте звонка сегодня до 15:00.
Написать ответ клиенту...
📎
Отправить
💬

Три канала общения

Переписка с клиентом — клиент видит эти сообщения в своём ЛК. Служебный чат — внутренние обсуждения, клиент их не видит. Примечания — личные заметки сотрудника по заявке.

📎

Вложения к сообщениям

К любому сообщению можно прикрепить фото, видео или документ. Клиент загружает фотографию поломки — инженер видит её до выезда и приезжает подготовленным.

🔄

Смена статуса одним кликом

Статус меняется выпадающим списком прямо в шапке заявки. Каждое изменение фиксируется в истории с именем сотрудника и временем. Клиент получает автоматическое письмо.

📜

Полная история заявки

Вкладка «История» показывает хронологию всех событий: кто создал, кто назначил инженера, когда сменился статус. Ни одно действие не остаётся незафиксированным.

Оборудование

Учёт оборудования

Каждая единица оборудования привязана к клиенту. Гарантийные сроки, история обслуживания, технические характеристики — всё в одном месте.

🔒 portal.vekpmt.ru
Все заявки
Новая заявка
Клиенты
Оборудование
Документы
Календарь
Настройки
Оборудование
Фильтры
+ Добавить
Оборудование / Клиент
Установка
Гарантия до
Заявок
Статус
Модель A-160
Клиент А
15.03.2024
15.03.2026
5
В гарантии
Модель A-130
Клиент Б
20.08.2023
20.08.2025
12
Истекает
Модель TUBE
Клиент В
10.05.2022
10.05.2024
8
Истекла
Модель FIL-NT
Клиент А
01.01.2024
01.01.2027
3
В гарантии
🏭

Карточка оборудования

Каждая единица оборудования — отдельная карточка: модель, серийный номер, дата установки, гарантийный срок, технические характеристики. Все поля редактируются прямо в интерфейсе без таблиц Excel.

Контроль гарантийных сроков

Система автоматически показывает статус гарантии: «В гарантии», «Истекает» (предупреждение за 30 дней) и «Истекла». При создании заявки сразу видно, является ли случай гарантийным.

📊

История обслуживания

По каждой единице оборудования — полная история всех заявок. Видно сколько раз обращались, по каким причинам и как быстро решали. Помогает выявить систематические проблемы.

🔗

Привязка к клиенту

Оборудование всегда привязано к конкретному клиенту. При смене владельца или передаче станка — связь обновляется. Клиент видит только своё оборудование в личном кабинете.

Документы

Документооборот — всё под рукой

Паспорта оборудования, акты выполненных работ, инструкции и сертификаты — хранятся в системе и доступны клиенту в его личном кабинете.

🔒 portal.vekpmt.ru
Все заявки
Новая заявка
Клиенты
Оборудование
Документы
Календарь
Настройки
Документы
Все клиенты ▾
+ Загрузить
Все
Паспорта
Акты
Инструкции
Сертификаты
Документ / Оборудование
Клиент
Дата
📄
Паспорт A-160
Паспорт оборудования
Клиент А
12.03.2024
↓ PDF
📋
Акт № 47 от 22.04.2026
Акт выполненных работ
Клиент В
22.04.2026
↓ PDF
📖
Инструкция FIL-NT
Руководство оператора
Клиент А
05.01.2024
↓ PDF
📁

Единое хранилище файлов

Все документы компании в одном месте: паспорта оборудования, акты, инструкции, сертификаты. Не нужно искать файл по почте или на локальном диске — всё загружается в систему один раз.

🔗

Привязка к клиенту и станку

Каждый документ привязывается к конкретному клиенту или единице оборудования. Открыв карточку клиента или станка, сотрудник сразу видит все связанные документы без лишнего поиска.

👤

Доступ клиенту в ЛК

Клиент видит документы на своё оборудование прямо в личном кабинете и скачивает их самостоятельно. Больше не нужно отправлять файлы по email и отвечать на повторные запросы.

🔒

Контроль доступа

Документы одного клиента недоступны другому — каждый видит только свои файлы. Сотрудники управляют правами: кому и какие документы показывать в личном кабинете.

Личный кабинет

Что видит клиент

Отдельная зона с собственным входом. Клиент видит только своё — никакого доступа к данным других компаний.

🔒 portal.vekpmt.ru
Мои заявки
Новая заявка
Моё оборудование
Документация
Профиль
ОО
Контактное лицо
Название компании
Мои заявки
+ Новая заявка
Оборудование / Описание
Дата
Статус
#112
Оборудование — Модель A-160
Не подаёт плёнку, ошибка E04
24.04.2026
Новая
#109
Оборудование — Модель FIL-NT
Плановое ТО по регламенту
21.04.2026
Ожидание
#105
Оборудование — Модель A-160
Замена ролика подачи
15.04.2026
Выполнена
🎫

Свои заявки

Клиент видит все свои обращения с фильтрацией по статусу и дате. Может создать новую заявку в несколько кликов — выбрать оборудование, описать проблему и прикрепить фотографию.

💬

Переписка по заявке

В каждой заявке — чат с сотрудниками. Клиент пишет сообщения, прикрепляет файлы, получает ответы. Вся история общения сохраняется и доступна в любое время.

🏭

Моё оборудование

Список всех станков клиента с моделью, серийным номером, датой установки и сроком гарантии. По каждому станку видны все связанные заявки.

📁

Документация

Паспорта оборудования, инструкции по эксплуатации, акты выполненных работ и другие документы, загруженные сотрудниками. Всегда под рукой, без лишних запросов.

👤

Профиль компании

Реквизиты организации, контактное лицо, юридический адрес. Данные используются при выставлении счетов и оформлении документов по сервису.

🔔

Уведомления на email

Клиент автоматически получает письмо при любом изменении статуса заявки и при новом ответе сотрудника. Ничего не потеряется и не уйдёт незамеченным.

🔒 Полная изоляция данных

Каждый клиент видит только свои данные. Заявки, оборудование и документы другой компании недоступны физически — система это проверяет при каждом запросе. Внутренняя переписка сотрудников и служебные примечания клиенту не показываются.

Данные

Что хранит система

Вся информация хранится в надёжной базе данных на вашем сервере. Никаких сторонних облаков — данные принадлежат вам.

👥

Сотрудники

Для каждого сотрудника хранится: имя, email, роль в команде, набор персональных прав доступа, фото профиля и статус (активен / заблокирован). Пароли хранятся в зашифрованном виде — даже администратор не видит их в открытую.

🏭

Клиенты

Полный профиль каждой компании-клиента: юридическое название, ИНН, юридический и фактический адрес, банковские реквизиты для счетов, контактное лицо, телефон и email. Вся история взаимодействия доступна в один клик.

🎫

Заявки

Каждая заявка хранит полную информацию: к какому клиенту и оборудованию относится, тип (гарантия, ремонт, ТО), текущий статус, назначенный инженер, даты создания и закрытия. Заявки нумеруются автоматически — номер не меняется никогда.

💬

Переписка и вложения

Все сообщения по каждой заявке сохраняются навсегда — ни одно письмо не потеряется. Прикреплённые фото, видео и документы хранятся на сервере и всегда доступны по защищённой ссылке с ограниченным временем действия.

⚙️

Оборудование

По каждой единице оборудования хранятся: модель, серийный номер, дата установки, гарантийный срок, технические характеристики и принадлежность клиенту. Система автоматически показывает, истекла ли гарантия на момент создания заявки.

📁

Документы

Технические паспорта, инструкции по эксплуатации, акты выполненных работ, сертификаты и любые другие файлы. Каждый документ привязан к клиенту или конкретному станку и доступен в личном кабинете клиента.

📅

События и планирование

Плановые техобслуживания, выезды инженеров и другие рабочие события с датой, временем и описанием. Общие события показываются всей команде на общем календаре, личные видит только их создатель.

📜

История изменений

Каждое изменение в заявке фиксируется автоматически: кто изменил статус, когда назначил инженера, что отредактировал. Полный журнал событий позволяет в любой момент понять, что происходило с заявкой от начала до конца.

🔔

Уведомления

Все системные уведомления для сотрудников сохраняются в личном журнале: новые заявки, назначения, ответы клиентов. Непрочитанные отображаются значком на колокольчике — ни одно событие не останется незамеченным.

🗄️ Ваши данные — на вашем сервере

База данных развёрнута на выделенном сервере vekpmt.ru. Ежедневное резервное копирование с хранением 7 дней. Никаких внешних сервисов, которые могут заблокировать доступ или повысить тарифы.

Безопасность

Как защищена система

Безопасность заложена в архитектуру с первого дня разработки — все данные надёжно защищены на каждом уровне.

🔑 Защищённый вход

После входа система выдаёт зашифрованный токен доступа. Сотрудники — сессия 24 часа, клиенты — 7 дней. Доступ автоматически прекращается после истечения срока.

🔐 Надёжное хранение паролей

Пароли никогда не хранятся в открытом виде. Каждый пароль преобразуется в необратимый хеш. Минимальная длина — 8 символов, смена требует подтверждения текущего.

🛡️ Защита базы данных

Все запросы к базе данных выполняются через безопасный интерфейс, исключающий подмену данных. Прямой доступ к данным извне невозможен.

⚡ Защита от перегрузки

Система автоматически блокирует подозрительно частые запросы — попытки взлома методом перебора или атаки на сервер отражаются без участия администратора.

🔒 Изоляция данных клиентов

Каждый клиент видит только свои данные. Даже зная ID чужой заявки, получить к ней доступ невозможно — система проверяет права при каждом запросе.

📁 Безопасная загрузка файлов

Система проверяет тип и формат каждого загружаемого файла. Вредоносные или подозрительные файлы отклоняются автоматически. Максимальный размер — 60 МБ.

🔗 Защищённое скачивание

Ссылки для скачивания файлов одноразовые и живут 60 секунд. Переслать ссылку третьему лицу бесполезно — она немедленно перестаёт работать после первого использования.

📧 Безопасный сброс пароля

Ссылка для сброса пароля действует 1 час и сгорает сразу после использования. Повторно воспользоваться ею или перехватить невозможно.

🌐 Защита от внешних атак

Доступ к системе разрешён только через официальный адрес портала. Запросы со сторонних ресурсов автоматически блокируются.

🪖 Защитные настройки браузера

Портал нельзя встроить во фрейм стороннего сайта (защита от кликджекинга). Соединение всегда шифруется по протоколу HTTPS.

🚫 Изоляция загруженных файлов

Загруженные пользователями файлы хранятся в изолированной зоне. Запуск любых программ и скриптов из этой зоны заблокирован на уровне сервера.

✅ Проверка всех вводимых данных

Все данные, поступающие от пользователей, проходят строгую проверку. Некорректные или опасные значения отклоняются до обработки.

✅ Безопасность проверена независимым аудитом

Система прошла независимое code-review. Все выявленные замечания устранены до передачи в эксплуатацию. Критических уязвимостей не обнаружено.

Надёжность

Обновления без остановки работы

Любое обновление системы проходит автоматическую проверку перед публикацией. Если что-то пошло не так — на сервер ничего не попадёт.

💻
Разработчик
Выпускает обновление
🧪
Автопроверка
51 автоматический тест
Всё прошло
Обновление одобрено
🚀
Деплой
Автоматически на сервер
🌐
portal.vekpmt.ru
Новая версия работает
🧪

Автоматические тесты

51 автоматический тест проверяет ключевые функции системы при каждом обновлении: авторизация, работа с заявками, права доступа, безопасность. Ошибка в тесте — обновление не выйдет.

🔄

Обновления без downtime

Выпуск новых версий происходит без остановки сервера. Пользователи продолжают работать — перезапуск занимает секунды и происходит незаметно.

🔒

Только проверенный код

Код, не прошедший автоматическую проверку, физически не может попасть на production-сервер. Это исключает человеческий фактор при обновлениях.

📡

Мониторинг доступности

Портал проверяется каждые 5 минут. При недоступности сервера приходит мгновенное уведомление — проблема устраняется до того, как её заметят пользователи.