Dev Lab

Автобизнес · 2026

Админка проката автомобилей

Парк, клиенты с документами и договоры аренды с печатными формами. Всё, что нужно, чтобы выдать машину и не потерять бумаги.

Клиент
RentIt.md
Год
2026
Направление
CRM-системы
Срок
в составе проекта RentIt

Задача

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

Что сделали

Сделали отдельное приложение на своём домене. Парк редактируется в интерфейсе, вместе с тарифной сеткой: чем дольше аренда, тем дешевле день, и формула эта одна и та же на сайте и в админке, потому что лежит в общем пакете. Карточка клиента хранит удостоверение и права с обеих сторон и со сроком действия, и эти файлы приватные, отдаются только по токену, в отличие от фотографий машин. Договор собирается из шаблона: аренда, передача и приём, три документа, каждый выгружается в PDF. Подписанный скан заливается обратно в тот же договор, поэтому бумажная и цифровая версии лежат вместе.

Результат

Админка в проде, на своём домене. Парк и цены меняются без разработчика, а по каждой аренде в системе лежат три документа и подписанные сканы.

Стек

  • React 19
  • TypeScript
  • Vite
  • Mantine
  • RTK Query
  • Node.js
  • Express
  • MongoDB
  • docxtemplater

Что умеет система

Автопарк

  • Карточка машины: кузов, коробка, привод, топливо, места
  • Тарифная сетка по длительности: чем дольше, тем дешевле день
  • Одна и та же формула цены на сайте и в админке
  • Описание машины на трёх языках
  • Фотогалерея с загрузкой перетаскиванием
  • Выбор машин на главную страницу сайта

Клиенты

  • Удостоверение и права, обе стороны, в карточке клиента
  • Срок действия каждого документа
  • Статус: активен или заблокирован
  • Счётчик аренд
  • Поиск по имени и телефону
  • Документы клиентов приватны и отдаются только по токену

Договоры

  • Договор на выбранные машину, клиента и даты
  • Три документа из шаблона: аренда, передача, приём
  • Генерация в PDF из DOCX-шаблона
  • Подписанный скан заливается обратно в тот же договор
  • Статусы: активен, завершён, отменён
  • Поиск по названию договора
  • Счётчик подписей: «0 из 3 подписано» на каждом договоре
  • Срок аренды в днях, посчитанный из дат

Доступ и файлы

  • Три уровня: чтение, запись, управление пользователями
  • Токен в httpOnly-cookie, с отдельным CSRF-заголовком на изменениях
  • Роль сверяется с базой на каждом запросе
  • Фотографии машин публичны, документы клиентов нет
  • Ограничение размера и белый список типов при загрузке

Интерфейс

  • Светлая и тёмная тема, по умолчанию по настройке системы
  • Скелетоны при загрузке и явные пустые состояния вместо пустых таблиц
  • Статусы показаны цветными бейджами: активен, завершён, заблокирован

Экраны системы

  • Автопарк, с минимальным тарифом из ценовой сетки
  • Клиенты и сканы их документов, со сроками действия
  • Договор: три документа, генерация PDF и подписанный скан
  • Договоры аренды, со сроком и статусом каждого
  • Редактирование машины: тарифная сетка и фотогалерея

В цифрах

документа на каждую арендуаренда, передача, приём
3
уровня доступа
3
формула цены на сайт и админкув общем пакете
1