Goal Tracking System

Goal Tracking System — это система для отслеживания целей работников компании. Каждый работник: разработчик, менеджер проекта, менеджер по продажам или руководитель подразделения ставит задачу перед собой на время: месяц, квартал, полгода, год. Как отслеживать прогресс достижения цели и приближения даты окончания задачи? Именно для этого разработчиками компании [bvblogic] была создана данная система.

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


Создание цели

Создание цели


Список целей с возможностью фильтрации

Цели и фильтры


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


Страница цели с шагами

Цели и шаги


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

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


Страница команды со списком участников и функцией корректировки ее состава

Команда и участники


Для реализации системы выбрали Ruby on Rails, который позволяет качественно воплотить интересные идеи в жизнь с использованием минимальных ресурсов. Данная технология активно используется разработчиками компании [bvblogic]. Сегодня она стремительно набирает популярности и предоставляет множество преимуществ. Узнайте больше из нашей статьи Why Ruby on Rails is Perfect Match for Your New Startup?

За основу системы приняли ruby ​​gem ActiveAdmin, который является мощным фреймворком для создания админ-панели для RoR аппликаций. Данный фреймворк является удобным инструментом для имплементации RESTfull архитектуры с мощной системой фильтрации и представления данных. Внедрение распределения прав пользователей реализовано с помощью gem cancancan. Для повышения безопасности системы, в нее можно зайти с помощью различных способов, в зависимости от того, как она была настроена при установке аппликации. Возможными способами являются авторизация через LDAP или базовая серверная авторизация BasicAuth, а также упрощенная система авторизации в фреймворке ActiveAdmin, для избавления пользователя от необходимости повторного ввода данных. Еще одним интересным аспектом является автоматическая система отправки уведомлений на электронную почту при окончании срока цели или шага. Для внедрения рассылки был использован гем whenever, который позволяет с любой периодичностью выполнять любые CRON задачи.

Система развивается и нуждается в постоянном обновлении. Для того, чтобы обеспечить ее целостность и облегчить дальнейшую разработку, ее покрыли автоматическими тестами, которые отслеживают работу существующего кода и улучшают качество. Для внедрения тестирования в системе использовали фреймворк Rspec с дополнительными гемамы Factory Girls для построения фабрик данных, Shoulda Matchers для тестирования моделей данных. Тестирование системы покрывает бизнес логику и функциональность.

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

Вы можете ближе ознакомиться с системой и сделать свой вклад в ее развитие посетив наш профиль на GitHub

Sorry! The Author has not filled his profile.

Quality Assurance. Почему это так важно для «здорового» кода

Процесс разработки тесно связан с тестированием, которое является чрезвычайно важным во всем процессе создания веб-сайтов, мобильных приложений, CRM-систем и т. п. Благодаря этому обе стороны, ИТ-компания и клиент, уверены, что ИТ-продукт будет работать эффективно и…

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

По прогнозам ООН численность населения мира пересечет границу в 9 миллиардов до 2050 года. Также предполагается, что потребности в пищевых ресурсах в мире вырастет вдвое к тому времени. Соответственно, одной из наиболее перспективных сфер бизнеса…

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *