
Backend для системы учёта инкассации
.Backend для системы учёта инкассации (API для мобилки + админки)
Стек: предпочтительно Laravel (PHP) или Python (FastAPI/Django REST). Готовы рассмотреть эквивалент с чёткой аргументацией по масштабируемости и поддерживаемости.
Суть: нужен сервер со стройной доменной моделью и REST-API (OpenAPI/Swagger) для мобильного приложения и веб-админки. Проект про учёт маршрутов, точек обслуживания, сумок (мешков) с деньгами по QR и печать стандартных форм в PDF.
Основные модули API (MVP)
Аутентификация и роли
JWT/refresh; RBAC: админ, дежурный, старший бригады (мобилка), бухгалтер/отчёты.
Управление филиалами/организациями.
Справочники
Клиенты/точки (адрес, координаты, график: будни/сб/вс).
Сотрудники/бригады, транспорт.
Банки/банкоматы/терминалы (как типы точек).
Нумераторы документов.
Маршруты и план-график
Создание маршрутов с точками и плановым временем.
Автогенерация «явочной карточки» на день по типу дня (будни/сб/вс).
Фиксация фактических визитов (время, комментарий).
Сумки (мешки) и статусы по QR
Жизненный цикл: выдана бригаде → в пути → проинкассирована/принята в хранилище → доставлена в банк.
Сканирование QR на этапах; хранение связанной суммы/валюты; история движений.
Заявки для банкоматов/терминалов
План vs факт (например, заявка на 10, фактически 7).
Генерация идентификаторов/ярлыков (данные для печати/QR).
Документы (PDF-генерация)
Явочная карточка: в шапке — план-время/№ маршрута на будни/сб/вс; по строке точки — кол-во сумок (печатается прописью), суммы по валютам раздельно; внизу «Всего за месяц: N (прописью)»; подписи пустые.
Препроводительный документ: дата/№, № пломбы/сумки, реквизиты, сумма цифрами и прописью; статусы: Черновик→Утверждён→Напечатан; PDF с QR-ссылкой.
Отчёты и реестры
Реестры выдачи/приёмки, движение сумок, план/факт по заявкам, отчёты по банкам.
Экспорт XLS/PDF.
Оффлайн-синхронизация для мобилки
Эндпоинты «pull/push» с версиями записей, разрешение конфликтов (last-write-wins или по метке сервера).
Пакетная отправка событий после восстановления связи.
События/уведомления (базово)
Вебхуки/Telegram-бот (опционально) на ключевые статусы (выдача, сдача в банк, расхождения).
Нефункциональные требования
Документация API: OpenAPI/Swagger + Postman коллекция.
Качество кода: PSR-12/PEP8, SOLID, разумные слои, транзакции, валидация.
Тесты: минимум unit на доменную логику + 2–3 интеграционных сценария.
БД: PostgreSQL (приемлем и MySQL). Миграции, сиды, ER-схема.
Журналы и аудит: логирование действий и изменений статусов.
Производительность: пагинация, фильтры, индексы; готовность к горизонтальному масштабированию.
Деплой: Docker-compose, инструкции (readme), пример .env. Стадии: dev/stage/prod.
Что предоставим после выбора
Подробное ТЗ по сущностям/полям, макеты PDF, примеры данных, договор доступа к тестовому серверу.
Что ждём в отклике
Коротко о релевантных проектах (логистика/склад/финансы/QR/PDF/мобилка+API).
Предпочитаемый стек (Laravel / FastAPI / Django REST — или аргументированный аналог).
План работ и контрольные точки (еженедельные демо), риски.
Гит-репозиторий (частный), как организуете CI.
Срок и бюджет
Бюджет: $2 500 фикс.
Срок: 4–6 недель на MVP (сдача по этапам, приоритет — API + PDF-формы + базовые реестры).
Оплата по вехам: API ядро → документы PDF → оффлайн-синхронизация → отчёты.
Заявки фрилансеров

