Goal Tracking System

Goal Tracking System – це система для відстеження цілей працівників компанії. Кожен працівник: розробник, менеджер проекту, менеджер з продажу чи керівник підрозділу ставить завдання перед собою на певний час: місяць, квартал, півроку, рік. Як відслідковувати прогрес досягнення цілі та наближення дати закінчення завдання? Саме для цього розробниками компанії [bvblogic] було створено дану систему.

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


Створення цілі

створення цілі


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

список цілей з фільтрами


Цілі можна редагувати та видаляти. Кожна ціль може містити кроки, які є проміжними задачами для досягнення основної цілі. Крок – це невеличка ціль, він має всі її властивості і функції. Також у системі існує можливість створення шаблонів, що дозволяє використовувати їх у подальшому для створення цілей користувачем, а також членами команди. Процес створення шаблону ідентичний до створення цілі.


Сторінка цілі з кроками

сторінка цілі з кроками


Система також оснащена функцією сповіщення за допомогою електронної пошти. Вона дозволяє не забувати працівникам і їх керівникам про ціль і процес її виконання та час завершення. Так за 1 місяць, 1 тиждень, 1 день до закінчення цілі, всім користувачам надсилається повідомлення про те, що ціль наближається до завершення.

Менеджери мають крім основного функціоналу цілей також перелік команд, до яких вони належать, для відслідковування всіх підпорядкованих працівників. До можливостей адміністраторів входять функції керування командами та її членами, а також іншим контентом.


Сторінка команди з переліком учасників та функцією коригування її складу 

Сторінка команди та її учасники з можливість додавання нових і видаленням існуючих


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

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

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

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

Ви можете ознайомитись ближче із системою та зробити свій внесок у її покращення відвідавши наш профіль на GitHub.

 

 


			
Sorry! The Author has not filled his profile.

Quality Assurance. Чому це так важливо для “здорового” коду

Процес розробки тісно пов’язаний з тестуванням, яке є надзвичайно важливим в усьому процесі створення веб-сайтів, мобільних додатків, CRM-систем тощо. Завдяки цьому обидві сторони, ІТ-компанія та клієнт, впевненi, що ІТ продукт працюватиме ефективно і належним чином….

ІТ інновації в агро бізнесі. 8 ключових напрямків, про які Вам варто дізнатись

За прогнозами ООН чисельність населення світу перетне межу 9 мільярдів до 2050 року. Також передбачається, що потреби у харчових ресурсах в світі зростуть вдвічі до того часу. Відповідно, однією з найбільш перспективних сфер бізнесу сьогодні…

Напишіть відгук

Ваша пошт@ не публікуватиметься. Обов’язкові поля позначені *