О заказчике
АО «Газстройпроект» - Российская компания, образованная в 2007 году с целью выполнения производственной деятельности по проектированию и строительству в отрасли нефтяной и газовой промышленности. Реализует проекты строительства нефтепроводов и газопроводов, насосных станций на территории РФ, а так же осуществляет реконструкцию и ремонт объектов транспорта нефти и газа. Оказывает услуги, связанные с перевозкой оборудования и материалов, всеми видами транспорта.
В 2014 году в свете очередного собрания директоров компания приняла решение реализовать принципиально новый веб-сайт, поставив ряд сложных, нестандартных задач. Исполнителем была выбрана команда KitchenCoders из Санкт-Петербурга.
Цели и задачи
- Создать современный веб-ресурс, способный отражать всё происходящее в компании
- Оптимизировать бизнес-процессы, создать учебные инструменты, точки интеграция для сотрудников отдела кадров
- Обратить внимание общественности на успех компании в ряде регионов страны
- Реализовать систему неформального корпоративного взаимодействия
- Обеспечить стильную подачу контента в рамках корпоративного стиля компании
Решения
Принимая во внимание интенсивносить развития компании, в качестве платформы для реализации проекта был выбран современный язык Ruby с фрэймворком Ruby on Rails. В силу своих особенностей, выбранный инструмент помог достаточно быстро реализовать «каркас» проекта, используя связку последнего с Semantic UI и Bootstrap 3. «Для оживления» клиентской части был использован гибрид Angular JS и jQuery, а также несколько самостоятельно написанных расширений на JS.
Пожалуй, самым сложным в данном проекте оказалась реализация интеграции API Head Hunter (Российская биржа вакансий) с внутренней системой учета персонала кадрового отдела. Обе системы предлагают стандартный RESTful стек, что упростило и ускорило решение задачи.
REST API
REST (сокр. от англ. Representational State Transfer — «передача состояния представления») - архитектурный стиль взаимодействия компонентов распределённого приложения в сети. REST представляет собой согласованный набор ограничений, учитываемых при проектировании распределённой гипермедиа-системы. С помощью HeadHunter API мы смогли получать информацию о соискателях и компаниях, а также использовать функциональность HeadHunter для сайта ГСП. Oauth 2.0 авторизация позволила реализовать стек обмена данными без хранения логина и пароля (только токены).
В свою очередь на стороне веб-сайта (веб-приложения) АО «Газстройпроект» был собран API интерфейс с методами по взаимодействию с CRM системой заказчика. В частности, CRUD (англ. аббревиатура Create, Read, Update, Delete — «Создать, Прочитать, Обновить, Удалить») методы для полученных вакансий из HH, архивации старых, обновления существующих. Архитектурно (в целях безопасности) было принятно решение не давать Head Hunter напрямую взаимодействовать с внутренней системой учета кадров, вместо, сделать веб-сайт проксирующим элементом. Это повысило надежность связки и разгрузило программу кадровиков.
UI для кадровика
Кадровый состав Акционерного общества — это сотрудники сразу двух поколений (молодные энергичные, понимающие современные технологии, с техникой «на ты»; а также более опытные, хорошо разбирающиеся в людях, но более консервативные и привыкшие к «старым интерфейсам»). Модели обмена данными имели достаточно много «без интерфейсной» логики, но там где UI был необходим было предложено несколько решений. Современные фрэймворки (например, Semantic UI, Bootstrap 3, Material Design) предлагает широкий спект возможностей (начиная от выбора размера кнопки и размещения тех или инных элементов, заканчивая эксклюзивными управляющими элементами, - чекбоксы, радибатоны, спиннеры и прочее). Semantic UI удовлетворил все требования заказчика!
Результат
В результате проделанной работе были сохранены ранее разработанные элементы фирменного стиля (логотип и цветовая палитра), и с правильным сочетанием и рекомендациями к применению, были получены блестящие результаты. Интеграция с внутренней системы снизила нагрузку на Отдел кадров примерное на 25-30 процентов.
← главная страница | внутренняя страница →