OKKP — внутренняя система контроля качества
Ведущий разработчик проекта · 2025
Внутренняя веб-система контроля качества для сети из 9 автопарков. Я спроектировал архитектуру и API и написал большую часть кода: нарушения и штрафы, сотрудники, электронный архив и выгрузка в Excel.
Фронтенд
API
- Авторизация · JWT
- Сотрудники
- Нарушения
- Обзвон
- Архив
Данные
Задача
Сети из 9 автопарков Avenue Group нужна была единая внутренняя система: учёт нарушений и штрафов, данные сотрудников и отчёты без участия разработчика.
Решение
SPA на React + TypeScript поверх API на Node.js / Express и MongoDB: серверная фильтрация, архив документов в Cloudinary, JWT-аутентификация и выгрузка в Excel в браузере; деплой через Docker Compose, CI на GitHub Actions.
Результат
Развёрнута на Linux-сервере компании; сотрудники сами фильтруют нарушения и выгружают отчёты в Excel.
Обзор
В Avenue Group я был ведущим разработчиком OKKP — внутренней веб-системы контроля качества для сети из 9 автопарков; в команде было три человека. Я спроектировал архитектуру и API и написал большую часть кода (≈177 из 183 коммитов 2025 года в трёх репозиториях проекта).
Стек: SPA на React 18 + TypeScript (Vite, Tailwind CSS), REST API на Node.js / Express 5 и MongoDB (Mongoose). Основа — модуль нарушений и штрафов: серверная фильтрация по ФИО, отделу, типу, статусу, парку и периоду, пагинация, вложения фото и видео, удаление с подтверждением паролем. Вокруг него — модули сотрудников, обзвона водителей, электронного архива документов (Cloudinary с откатом на локальный диск) и внутренних уведомлений. Вход — JWT (bcrypt), по email или телефону.
На главной странице — KPI-карточки по паркам, а нарушения, сотрудники, обзвон водителей и сводка по паркам выгружаются в Excel прямо в браузере. Деплой — Docker Compose (MongoDB + API) на Linux-сервере за reverse proxy, CI — на GitHub Actions.
Что делает
- Модуль нарушений и штрафов: серверная фильтрация (ФИО, отдел, тип, статус, парк, период) и пагинация
- Карточки сотрудников с загрузкой фото, договоров и анкет; обзвон водителей; внутренние уведомления
- Электронный архив документов в Cloudinary с откатом на локальный диск
- KPI-карточки по паркам и экспорт в Excel прямо в браузере (SheetJS)
Что дальше
Ищете full-stack- или Python-разработчика — или нужно сделать что-то похожее? Давайте обсудим.
Открыт к предложениям: офис или гибрид в Москве, либо удалённо; полная занятость или контракт. Отвечаю в течение 48 часов, в Telegram — быстрее.