← Назад до портфоліо

TimetrackingПриватний

Timetracking main image

Опис та деталі проекту

Задача

Timetracking решает прикладную задачу: Timetracking — приложение, которое отображает сводные данные занятости сотрудников организации за выбранный период. В приложении присутствуют фильтры по объектам, подразделениям, видам и подвидам работ. Так же возможен поробный просмотр заняости по часам для каждого дня. Приложение успешно работает в реальной функционирующей в организациии ERP-системе.

Проект относится к коммерческий разработке и завершён и используется. Связан с услугами: Full-stack веб-приложения и дашборды, Разработка и интеграция решений для 1С.

Кейс показывает подход к задачам в области «Full-stack веб-приложения и дашборды»: от постановки до сдачи с понятной структурой модулей.

Перед стартом зафиксировали критерии готовности: понятный первый экран, предсказуемые ошибки форм, возможность доработки без переписывания половины кодовой базы.

Решение

Реализован закрытый коммерческий инструмент: интерфейс и логика заточены под повседневные сценарии пользователя, без лишних экранов.

Сценарии спроектированы так, чтобы основные действия укладывались в один–два экрана: меньше переключений, меньше ошибок при вводе. Навигация и подписи полей согласованы с привычными паттернами — пользователю не нужно «учить интерфейс».

Отдельное внимание — состояния загрузки и пустые списки: skeleton/spinner там, где данные приходят асинхронно, и понятные empty-state тексты вместо пустой таблицы.

Архитектура и стек

UI и клиент: ag-grid-react, react, react-date-range, react-datepicker, react-dom, react-flatpickr.

Инфраструктура и утилиты: mui/material, mui/x-date-pickers, mui/x-data-grid, mui/x-date-pickers-pro, ag-grid-community, ag-grid-enterprise, dayjs, dompurify, ky, zustand.

Распределение языков в репозитории: JavaScript (95.7%), CSS (3.8%), HTML (0.5%), Shell (0.1%).

Слои разделены так, чтобы UI не знал деталей транспорта: адаптеры API/хранилища, доменные типы, компоненты представления. Это упрощает замену бэкенда и точечные UX-правки.

Ключевые функции

  • mui/material — использован в продуктовой логике: снижает количество самописного кода и ускоряет добавление новых экранов.
  • mui/x-date-pickers — использован в продуктовой логике: снижает количество самописного кода и ускоряет добавление новых экранов.
  • mui/x-data-grid — использован в продуктовой логике: снижает количество самописного кода и ускоряет добавление новых экранов.
  • mui/x-date-pickers-pro — использован в продуктовой логике: снижает количество самописного кода и ускоряет добавление новых экранов.
  • ag-grid-community — использован в продуктовой логике: снижает количество самописного кода и ускоряет добавление новых экранов.
  • ag-grid-enterprise — использован в продуктовой логике: снижает количество самописного кода и ускоряет добавление новых экранов.
  • ag-grid-react — использован в продуктовой логике: снижает количество самописного кода и ускоряет добавление новых экранов.
  • dayjs — использован в продуктовой логике: снижает количество самописного кода и ускоряет добавление новых экранов.

Дополнительно:

  • Интеграция и использование mui/material в продуктовой логике и интерфейсе.
  • Интеграция и использование mui/x-date-pickers в продуктовой логике и интерфейсе.
  • Интеграция и использование mui/x-data-grid в продуктовой логике и интерфейсе.

Результат

Проект доведён до рабочего состояния: команда/пользователь получает стабильный инструмент вместо ручных таблиц и переписки. Сокращено время на типовые операции за счёт автоматизации в интерфейсе.

Код закрыт по требованиям заказчика; архитектурные решения и стек описаны на этой странице для прозрачности экспертизы и SEO.

Что бы улучшил

Следующий шаг — observability (логи/метрики), автотесты на регресс и документация API для интеграторов. Для high-load сценариев — профилирование узких мест и кеширование справочников.

Часті запитання

Для чого потрібен проєкт «Timetracking»?

Timetracking — це додаток, який відображає зведені дані зайнятості співробітників організації за вибраний період. У додатку присутні фільтри за об'єктами, підрозділами, видами та підвидами робіт. Також можливий детальний перегляд зайнятості по годинах для кожного дня. Додаток успішно працює в реальній функціонуючій в організації ERP-системі.

Який стек у «Timetracking»?

Технології: mui/material, mui/x-date-pickers, mui/x-data-grid, mui/x-date-pickers-pro, ag-grid-community, ag-grid-enterprise, ag-grid-react, dayjs, dompurify, ky, react, react-date-range, react-datepicker, react-dom, react-flatpickr, zustand.

Інформація про проект

CommercialCompleted

  • Створено: 08 Mar 2023
  • Оновлено: 08 Mar 2023

Використані технології

mui/materialmui/x-date-pickersmui/x-data-gridmui/x-date-pickers-proag-grid-communityag-grid-enterpriseag-grid-reactdayjsdompurifykyreactreact-date-rangereact-datepickerreact-domreact-flatpickrzustand

Мови

JavaScript (95.7%)CSS (3.8%)HTML (0.5%)Shell (0.1%)