Отправьте статью сегодня! Журнал выйдет ..., печатный экземпляр отправим ...
Опубликовать статью

Молодой учёный

Разработка специализированного веб-приложения для учёта рабочего времени

Научный руководитель
Информационные технологии
21.04.2026
1
Поделиться
Аннотация
В статье рассматривается разработка специализированного веб-приложения для учёта рабочего времени (ВП УРВ), устраняющего системные недостатки существующих решений: отсутствие явного учёта перерывов, необязательность названия задачи и наложение интерфейса при интеграции с внешними сервисами. Описаны концептуальная модель, выбор технологий и трёхкомпонентная архитектура системы.
Библиографическое описание
Никитин, А. О. Разработка специализированного веб-приложения для учёта рабочего времени / А. О. Никитин. — Текст : непосредственный // Молодой ученый. — 2026. — № 17 (620). — С. 17-21. — URL: https://moluch.ru/archive/620/135589.


Введение

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

Анализ существующих решений

Проведён сравнительный анализ четырёх веб-приложений с бесплатным тарифом: Toggl Track [2], Clockify [3], TrackingTime [4] и ClockDiary [5]. Результаты сведены в таблице 1. Ни одно веб-приложение не обеспечивает явного учёта перерывов, не требует обязательного названия задачи и не реализует интеграцию через импорт.

Таблица 1

Сравнение аналогов ВП УРВ

Критерий

Toggl Track

Clockify

Tracking-Time

ClockDiary

ВП УРВ

Учёт перерывов

Нет

Нет

Нет

Нет

Да

Обязательное название задачи

Нет

Только проект

Нет

Нет

Да

Способ интеграции с сервисами

Наложение

Наложение

Наложение

Наложение

Импорт

Среднее время запуска задачи, с

6,98

6,09

9,62

7,30

3,41

Горячая клавиша запуска

Нет

Нет

Нет

Нет

Да

Концептуальная модель

Модель описана UML-диаграммами вариантов использования, сущностей и последовательности. Центральная сущность — запись о времени (TimeEntry) — хранит обязательное название, временны́е метки, накопленное время простоя (idle_duration_sec) и субъективную оценку сложности задачи (complexity, 1–3). С каждой записью сопоставляется запись о перерыве (Break) с его фактической длительностью [1]. Задачи и проекты создаются вручную либо импортируются из внешнего сервиса. Диаграмма сущностей представлена на рисунке 1.

Диаграмма сущностей ВП УРВ

Рис. 1. Диаграмма сущностей ВП УРВ

Выбор технологий и среды разработки

Выполнен сравнительный анализ пяти языков программирования, приведённый в таблице 2. Для серверной части выбран C# [6] — статически типизированный компилируемый язык с зрелым фреймворком ASP.NET Core [12] и наибольшим личным опытом (3 года). Для клиентской части и расширения выбран TypeScript [17] с Vue.js [14].

Таблица 2

Сравнительный анализ языков программирования

Критерий

Ruby [9]

Java [7]

Python [8]

C++ [10]

C#

Статическая типизация

Нет

Да

Нет

Да

Да

Серверная веб-разработка

Нет

Да

Да

Нет

Да

Русскояз. документация

Нет

Нет

Да

Нет

Да

Компилируемый язык

Нет

Да

Нет

Да

Да

Опыт работы, лет

0

1

1

2

3

Средой разработки выбран JetBrains Rider [11] — кросс-платформенная IDE с поддержкой C# и TypeScript, встроенным отладчиком и анализатором кода на базе ReSharper без дополнительных плагинов.

Архитектура ВП УРВ

ВП УРВ включает три независимых компонента. Серверная часть (TimeTrackingAPI) реализована на ASP.NET Core 8 по трёхслойной архитектуре: Controllers, Services и слой доступа к данным через Entity Framework Core [13] и SQL Server [21]. Аутентификация — JWT; импорт — Todoist REST API v1 [19] и Jira Cloud REST API v3 [20]. Клиентская часть (TimeTrackingClient) построена на Vue 3, TypeScript, Pinia [7] и Axios [8]. Браузерное расширение (TimeTrackingExtension) разработано на WXT [9]: фоновый скрипт ежеминутно опрашивает browser.idle API, накапливает время простоя и при превышении порога отправляет его на сервер и формирует уведомление; контент-скрипт передаёт JWT-токен фоновому скрипту, обходя изоляцию расширений Firefox.

Пользовательский интерфейс

Интерфейс выполнен в минималистичной нейтральной гамме. Главный экран, показанный на рисунке 2, содержит блок таймера с автодополнением, кнопку и горячую клавишу «N». После остановки в обязательном порядке запрашивается название; для сессий более 10 минут — оценка сложности и диалог рекомендации перерыва. Раздел «Проекты» поддерживает импорт из Todoist и Jira. Раздел «История» отображает перерывы между записями и обеспечивает экспорт отчётов в PDF и Excel.

Главный экран ВП УРВ

Рис. 2. Главный экран ВП УРВ

Заключение

Разработанное ВП УРВ устраняет системные недостатки аналогов: реализованы явная фиксация перерывов с расчётом рекомендуемой длительности, обязательное название задачи, интеграция через импорт, горячие клавиши и фоновый мониторинг активности. Трёхкомпонентная архитектура на ASP.NET Core 8, Vue 3 и WXT обеспечивает разделение ответственности и удобство сопровождения.

Литература:

  1. ГОСТ 19.701–90 (ИСО 5807–85). ЕСПД. Схемы алгоритмов, программ, данных и систем. Введ. 01.01.1992. М.: Стандартинформ, 2010. 24 с.
  2. Toggl Track. — Текст: электронный // Toggl: [сайт]. — URL: https://toggl.com/track/ (дата обращения: 12.02.2026).
  3. Clockify. — Текст: электронный // Clockify: [сайт]. — URL: https://clockify.me/ (дата обращения: 12.02.2026).
  4. TrackingTime. — Текст: электронный // TrackingTime: [сайт]. — URL: https://trackingtime.co/ (дата обращения: 13.02.2026).
  5. ClockDiary. — Текст: электронный // ClockDiary: [сайт]. — URL: https://clockdiary.com/ (дата обращения: 13.02.2026).
  6. Документация по языку C#. — Текст: электронный // Microsoft: [сайт]. — URL: https://learn.microsoft.com/ru-ru/dotnet/csharp/ (дата обращения: 07.02.2026).
  7. Документация по языку Java. — Текст: электронный // Oracle: [сайт]. — URL: https://docs.oracle.com/en/java/ (дата обращения: 07.02.2026).
  8. Документация по языку Python. — Текст: электронный // Python Software Foundation: [сайт]. — URL: https://docs.python.org/3/ (дата обращения: 08.02.2026).
  9. Документация по языку Ruby. — Текст: электронный // Ruby-lang: [сайт]. — URL: https://www.ruby-lang.org/ru/documentation/ (дата обращения: 08.02.2026).
  10. Документация по языку C++. — Текст: электронный // Microsoft: [сайт]. — URL: https://learn.microsoft.com/ru-ru/cpp/cpp/ (дата обращения: 09.02.2026).
  11. Документация JetBrains Rider. — Текст: электронный // JetBrains: [сайт]. — URL: https://www.jetbrains.com/help/rider/Getting_Started.html (дата обращения: 10.02.2026).
  12. Документация ASP.NET Core. — Текст: электронный // Microsoft: [сайт]. — URL: https://learn.microsoft.com/ru-ru/aspnet/core/ (дата обращения: 12.02.2026).
  13. Документация Entity Framework Core. — Текст: электронный // Microsoft: [сайт]. — URL: https://learn.microsoft.com/ru-ru/ef/core/ (дата обращения: 13.02.2026).
  14. Документация Vue.js. — Текст: электронный // Vue.js: [сайт]. — URL: https://ru.vuejs.org/guide/introduction (дата обращения: 14.02.2026).
  15. Документация Pinia. — Текст: электронный // Pinia: [сайт]. — URL: https://pinia.vuejs.org/ (дата обращения: 15.02.2026).
  16. Документация Axios. — Текст: электронный // Axios: [сайт]. — URL: https://axios-http.com/ru/docs/intro (дата обращения: 17.02.2026).
  17. Документация TypeScript. — Текст: электронный // Microsoft: [сайт]. — URL: https://www.typescriptlang.org/docs/ (дата обращения: 18.02.2026).
  18. Документация WXT. — Текст: электронный // WXT: [сайт]. — URL: https://wxt.dev/guide/introduction.html (дата обращения: 20.02.2026).
  19. Todoist REST API. Документация. — Текст: электронный // Todoist: [сайт]. — URL: https://developer.todoist.com/rest/v2/ (дата обращения: 25.02.2026).
  20. Jira Cloud REST API. Документация. — Текст: электронный // Atlassian: [сайт]. — URL: https://developer.atlassian.com/cloud/jira/platform/rest/v3/ (дата обращения: 26.02.2026).
  21. Документация SQL Server. — Текст: электронный // Microsoft: [сайт]. — URL: https://learn.microsoft.com/ru-ru/sql/sql-server/ (дата обращения: 05.03.2026).
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Молодой учёный №17 (620) апрель 2026 г.
Скачать часть журнала с этой статьей(стр. 17-21):
Часть 1 (стр. 1-77)
Расположение в файле:
стр. 1стр. 17-21стр. 77

Молодой учёный