Image
Технологии
  • PHP
  • Laravel
  • mySQL
Клиент

Подрядная работа для агентства

Ссылка
NDA

Задача 

Создать личный кабинет для работы (ERP-система), в котором нужно предусмотреть права доступа для администратора/сотрудника. При регистрации на сайте работающем на 1С-Битрикс, автоматически создавать пользователя и привязывать его к отделу в компании, выдавая ему права доступа согласно внутреннему регламенту для работы.

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

Требования 

Права доступа. В компании более тысячи компаний клиентов и у отделов разный уровень доступов к существующим клиентам и к будущим. Для этого разработана таблица правил по правам доступа для отделов в компании.

Гибкие фильтры с возможностью добавления новых тегов (пометок) на проекты/компании/отделы.

Две темы: светлая/темная для системы.

База знаний (регламенты) для работы с удобной навигацией без перезагрузки страниц.

Выгрузка документов и списков сущностей в excel.

Быстрая работа при добавлении в систему до 20 000 компаний клиентов.

Регистрация по СМС.

Интеграция с 1С-Битрикс 24 и обмен данными.

Интеграция с сайтом компании на 1C-Битрикс Управление сайтом.

Повышенный уровень безопасности баз данных и авторизация по СМС.

Реализация 

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

На этапе брифинга начали настраивать Laravel на тестовой среде и окружение для разработки.

Согласовали вопросы. Интегрировались в команду и начали посадку верстки с программированием.

Фильтры реализовали без перезагрузки страницы с использованием технологии Ajax запросов (фоновых) при работе на странице.

Подключили шлюз для отправки СМС сообщений при регистрации/авторизации и восстановлении доступа.

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

Спроектировали решение по отслеживанию событий в системе при которых создается пользователь и заводиться новая компания/отдел.

Запрограммировали импорт документов с учетом двух операционных систем Macintosh и Microsoft.

Завели для тестовой нагрузки в систему 30 000 сущностей. Тест показал, что есть слабые места в том, как написаны запросы.

Составили список задач по рефакторингу и оптимизации кода для достижения максимальной нагрузки в районе 60% от ресурсов сервера. При учете, что в системе 30 000 компаний клиентов.

Передали проект на тестирование. Со стороны клиента QA-специалист проводил тестирование перед приемом работ.

В баглисте было 20 пунктов. Передали в работу, за 3 дня внесли правки.

Перенесли на боевой сервер. Произвели пусконаладочные работы. Финальное тестирование и сдача работ Заказчику.

Итог 

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

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

Раздел для коллективного обсуждения проектов.

Функционал по генерации документов с автоматическим проставлением данных в нужных полях для ускорения юридического отдела.