DSE-Mriya
Internal · PWAВнутренний продуктВнутренний PWA для отдела спецтехники: тракторист за минуту отмечает план и факт прямо в поле, руководитель видит всё в цифрах и выгружает в Excel. Сделал под задачу собственного отдела.
Зачем это
В отделе спецтехники Mriya Resort & SPA каждый день десятки выходов: трактористы опрыскивают, культивируют и мульчируют виноградники, иногда выходят на сторонние земляные работы — посадку виноградных саженцев и подготовку участков. Раньше отчётность шла на словах и на бумаге — кто, где и сколько сделал, сколько отработала техника, собрать в цифры было почти нельзя.
Я руковожу этим отделом и сделал инструмент под собственную боль: простое приложение, где тракторист за минуту отмечает план и факт прямо с телефона в поле, а я как руководитель вижу всю картину в цифрах и выгружаю её в Excel. Спроектировал, задизайнил и написал сам.
Утром — план, вечером — факт
Рабочий цикл повторяет реальный день. Утром тракторист открывает приложение, выбирает локацию, технику и клетки, ставит план и моточасы на начало смены. Вечером возвращается и в три поля закрывает факт: сколько сделал, моточасы на конец смены, заметки. Никаких лишних экранов — всё крупное и под большой палец.
Вход — по короткому PIN, без логинов и паролей: в поле так быстрее. Формы кэшируются офлайн, поэтому плохая связь среди виноградников не мешает отметиться — данные уйдут на сервер, как только появится сеть.
Руководитель видит всё в цифрах
То, ради чего всё затевалось. На дашборде — сводка за период: сколько гектаров и рядов обработано (план и факт) и сколько моточасов отработала техника. Ниже — разрезы, которые раньше приходилось считать вручную.
- По трактористам — кто сколько сделал и наработал часов
- По технике — загрузка каждого трактора
- По видам работ — куда ушли гектары и ряды
- Периоды: неделя, месяц, квартал, год или свой диапазон
Журнал и выгрузка в Excel
Каждая запись попадает в журнал с фильтрами по трактористу, технике и датам — удобно поднять историю по любому участку или человеку. Одной кнопкой журнал выгружается в Excel: готовая таблица для расчётов, нарядов и отчётности наверх, без ручного переписывания.
Под капотом
Небольшое, но настоящее приложение: одна кодовая база на Next.js держит и операторский PWA, и админку. Сделано просто и надёжно — чтобы работало в поле и не требовало обслуживания.
- Next.js 16 (App Router) · React 19 · TypeScript 5.9
- PostgreSQL 17 + Prisma 7
- Tailwind 4 + свои shadcn-подобные компоненты, графики на Recharts
- PWA на @ducanh2912/next-pwa: установка на экран, офлайн-кэш форм
- Вход по PIN с bcrypt и rate-limiting, сессии в куках
- Excel-экспорт на exceljs; деплой через Dokploy с автоматическим TLS
Рабочий день — в одном окне
Весь операторский путь — от входа до закрытой смены — помещается в несколько простых экранов под большой палец.