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

TimetrackingПриватний

Timetracking main image

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

Задача

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

Проект відноситься до комерційної розробки і завершено, і використовується. Він пов'язаний з послугами: Full-stack веб-додатки та дашборди, Розробка та інтеграція рішень для 1С.

Цей кейс демонструє підхід до завдань у сфері "Full-stack веб-додатків та дашбордів": від постановки завдання до здачі з чіткою структурою модулів.

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

Рішення

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

Сценарії спроектовані так, щоб основні дії укладалися в один-два екрани: менше перемикань, менше помилок при введенні. Навігація та підписи полів узгоджені з звичними паттернами — користувачеві не потрібно "вчити інтерфейс."

Окрему увагу — станам завантаження та порожнім спискам: skeleton/spinner там, де дані приходять асинхронно, і зрозумілі тексти для порожнього стану замість порожньої таблиці.

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

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 для інтеграторів. Для сценаріїв з високим навантаженням — профілювання вузьких місць та кешування довідників.

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

Для чого потрібен проєкт «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%)