.Backend для системы учёта инкассации (API для мобилки + админки)

Стек: предпочтительно Laravel (PHP) или Python (FastAPI/Django REST). Готовы рассмотреть эквивалент с чёткой аргументацией по масштабируемости и поддерживаемости.

Суть: нужен сервер со стройной доменной моделью и REST-API (OpenAPI/Swagger) для мобильного приложения и веб-админки. Проект про учёт маршрутов, точек обслуживания, сумок (мешков) с деньгами по QR и печать стандартных форм в PDF.

Основные модули API (MVP)

  1. Аутентификация и роли

    • JWT/refresh; RBAC: админ, дежурный, старший бригады (мобилка), бухгалтер/отчёты.

    • Управление филиалами/организациями.

  2. Справочники

    • Клиенты/точки (адрес, координаты, график: будни/сб/вс).

    • Сотрудники/бригады, транспорт.

    • Банки/банкоматы/терминалы (как типы точек).

    • Нумераторы документов.

  3. Маршруты и план-график

    • Создание маршрутов с точками и плановым временем.

    • Автогенерация «явочной карточки» на день по типу дня (будни/сб/вс).

    • Фиксация фактических визитов (время, комментарий).

  4. Сумки (мешки) и статусы по QR

    • Жизненный цикл: выдана бригаде → в пути → проинкассирована/принята в хранилище → доставлена в банк.

    • Сканирование QR на этапах; хранение связанной суммы/валюты; история движений.

  5. Заявки для банкоматов/терминалов

    • План vs факт (например, заявка на 10, фактически 7).

    • Генерация идентификаторов/ярлыков (данные для печати/QR).

  6. Документы (PDF-генерация)

    • Явочная карточка: в шапке — план-время/№ маршрута на будни/сб/вс; по строке точки — кол-во сумок (печатается прописью), суммы по валютам раздельно; внизу «Всего за месяц: N (прописью)»; подписи пустые.

    • Препроводительный документ: дата/№, № пломбы/сумки, реквизиты, сумма цифрами и прописью; статусы: Черновик→Утверждён→Напечатан; PDF с QR-ссылкой.

  7. Отчёты и реестры

    • Реестры выдачи/приёмки, движение сумок, план/факт по заявкам, отчёты по банкам.

    • Экспорт XLS/PDF.

  8. Оффлайн-синхронизация для мобилки

    • Эндпоинты «pull/push» с версиями записей, разрешение конфликтов (last-write-wins или по метке сервера).

    • Пакетная отправка событий после восстановления связи.

  9. События/уведомления (базово)

    • Вебхуки/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 → оффлайн-синхронизация → отчёты.

20 часов назад
Максим
 
42 года
18 лет в сервисе
Был
3 часа назад
366 отзывов

Заявки фрилансеров

Денис
 
40 лет
9 лет в сервисе
Был
23 минуты назад
41 отзыв
3 часа назад
ТОП-10
Веб-программирование
Станислав
 
36 лет
15 лет в сервисе
Был
35 минут назад
30 отзывов
3 часа назад
Лучший веб-программист июля
Дмитрий
 
41 год
3 года в сервисе
онлайн
4 часа назад
Сергей
 
40 лет
6 лет в сервисе
Был
4 часа назад
1 отзыв
14 часов назад
Максим
 
26 лет
6 лет в сервисе
Был
10 часов назад
39 отзывов(-3)
16 часов назад
ТОП-5
Веб-программирование
Србуи
 
22 года
19 часов в сервисе
Была
час назад
18 часов назад