ShamFinance - калькулятор рассрочки и бэк-офис
Платформа рассрочки с партнёрской программой и Telegram-интеграцией




О проекте
ShamFinance — платформа для сервиса исламской рассрочки. Система позволяет клиентам оформить рассрочку на товары без процентов (халяль), а
компании — управлять заявками, партнёрами и менеджерами через единую платформу.
Что было сделано
Три независимых фронтенда
Публичный сайт — лендинг с онлайн-калькулятором рассрочки. Клиент вводит сумму товара, первоначальный взнос и срок — система мгновенно
рассчитывает ежемесячный платёж и итоговую сумму. Здесь же форма заявки для сбора контактов.
Админ-панель — рабочее место менеджеров и администраторов. Функционал:
- Просмотр и обработка входящих лидов
- Превращение лидов в полные анкеты с паспортными данными
- Управление статусами заявок (на проверке → одобрено → выдано → выплачено)
- Создание и редактирование менеджеров и партнёров
- Загрузка документов клиентов (паспорта, селфи, договоры)
Партнёрский кабинет — личный кабинет для магазинов-партнёров. Партнёр видит свои лиды, статистику конверсий и может отслеживать статус
заявок своих клиентов.
Бэкенд на Go
REST API с полной бизнес-логикой:
- Аутентификация — сессии для трёх ролей (admin, manager, partner)
- Калькулятор — расчёт рассрочки с учётом тарифа партнёра (classic/premium)
- Очередь Telegram — уведомления о новых заявках с retry-логикой и exponential backoff
- Загрузка файлов — хранение документов в MinIO (S3-совместимое хранилище)
- Миграции — версионирование схемы БД через Goose
Ключевые сущности
| Сущность | Описание |
|---|---|
| Lead | Первичный контакт с сайта (имя + телефон + данные калькулятора) |
| Application | Полная анкета с паспортом, местом работы, поручителями |
| Manager | Сотрудник компании, обрабатывающий заявки |
| Partner | Магазин-партнёр со своим тарифом и статистикой |
Жизненный цикл заявки
- Клиент оставляет заявку на сайте → создаётся Lead
- Telegram-бот мгновенно уведомляет менеджеров
- Менеджер связывается с клиентом и заполняет полную анкету
- Заявка уходит на проверку СБ
- После одобрения — выдача товара и переход в статус "выплачивается"
- Клиент выплачивает рассрочку → статус "завершено"
Технические детали
- Валидация паспортных данных на бэкенде
- Лимиты: сумма от 40,000₽ до 1,000,000₽, срок 3-12 месяцев
- Поддержка двух поручителей на каждую заявку
- Soft delete для менеджеров (сохранение истории)
- Worker-процесс для обработки очереди Telegram-сообщений
Стек технологий
- Backend: Go 1.25, Gin, pgx, Goose
- Frontend: Next.js 16, React 19, TypeScript, Tailwind CSS
- Database: PostgreSQL 16
- Storage: MinIO (S3-compatible)
- Notifications: Telegram Bot API
- Infrastructure: Docker, Docker Compose
Понравилось?
Обсудим ваш проект