Перейти к содержанию

OneWallet — Timeline разработки и запуска

Версия 1.0
Дата 2026-04-16
Горизонт 3 месяца (Apr 16 — Jul 16, 2026)
Команда 2 fullstack-разработчика
Целевая дата MVP ~16 мая 2026
Статус 🟡 В работе

Оглавление

  1. Executive Summary
  2. Текущий статус — что готово
  3. Месяц 1 — MVP Launch
  4. Месяц 2 — Стабилизация и Agent Portal
  5. Месяц 3 — Расширение функционала
  6. Риски и зависимости
  7. Регуляторные требования
  8. Распределение команды

1. Executive Summary

OneWallet — платёжный кошелёк (Flutter + Serverpod + PostgreSQL). Ядро системы (Auth, KYC, Admin Panel, blnkfinance) разработано. Главная задача месяца — построить платёжный слой, поднять prod-инфраструктуру и опубликовать приложение в сторах.

Период Цель Итог
Месяц 1 (Apr 16 — May 16) MVP в прод: платежи, инфраструктура, App Store 🎯 Запуск
Месяц 2 (May 17 — Jun 16) Agent Portal, пуши, стабилизация 📈 Рост
Месяц 3 (Jun 17 — Jul 16) OAuth, MiniApps, compliance 🔒 Зрелость

2. Текущий статус — что готово

Актуально на 16 апреля 2026

✅ Завершено

Компонент Готовность Примечания
Serverpod: Auth module ✅ 100% Email+OTP регистрация, JWT, RBAC, refresh tokens
Serverpod: KYC module ✅ 100% 10-шаговый флоу, OCR via Gemini API, статусы
KYC микросервис ✅ 100% CompreFace, BullMQ, Node.js worker
Flutter: Auth screens ✅ 100% Регистрация, вход, OTP, пароль, рефереральный код
Flutter: KYC flow ✅ 100% Загрузка документов, биометрия лица
Flutter: Home screen ✅ 100% Баланс-карта, сетка быстрых действий
Flutter: PIN / Биометрия ✅ 100% 6-значный PIN (НацБанк), биометрия, auto-lock 5 мин
Admin Panel ✅ 100% Users, KYC review, Transactions, Agents — SvelteKit
blnkfinance UI ✅ 100% Ledger, счета, транзакции подключены
S3 хранилище ✅ 100% Загрузка KYC-документов, presigned URLs

🟡 Требует доработки (незначительно)

Компонент Статус Задачи
Admin Panel: KYC E2E 🟡 95% Seed superadmin, проверить Approve → Finalize поток
S3 KYC Storage 🟡 0% (backlog) Cron-очистка, lifecycle policy, userId в пути
Service Resilience 🟡 40% CompreFace volumes persistence, BullMQ watchdog

🔴 Не начато (строится в месяц 1)

Компонент Приоритет
Payment Manager P0 — критично
IPPS PPXC Adapter P0 — критично
QP API Adapter P0 — критично
API Gateway (Nginx/Traefik) P0 — критично
CI/CD pipeline P0 — критично
Prod-инфраструктура P0 — критично
Flutter: Top Up / Pay / Transfer / History P0 — критично
Logging (Fluent Bit + Loki + Grafana) P1
Agent Portal P1

3. Месяц 1 — MVP Launch (Apr 16 — May 16)

Цель: Рабочее приложение в Google Play + App Store, платежи работают на prod.


Неделя 1 (Apr 16–22) — Инфраструктура и DevOps

Dev 1: API Gateway + CI/CD
Dev 2: Docker Compose full stack + Prod setup

# Задача Ответственный Статус
1.1 Docker Compose — полный стек (все сервисы, сети, volumes) Dev 2
1.2 API Gateway (Nginx): TLS termination, маршрутизация, auth_request Dev 1
1.3 Rate limiting на API Gateway (IP + token) Dev 1
1.4 CI/CD pipeline: lint → test → build → deploy (GitHub Actions) Dev 1
1.5 Настройка prod-сервера: PostgreSQL, Redis, S3, env vars Dev 2
1.6 Fluent Bit + Loki + Grafana — базовый стек логирования Dev 2
1.7 Service resilience: CompreFace volume persistence Dev 2
1.8 BullMQ watchdog + retry endpoints для KYC microservice Dev 1

Критерий готовности: Все сервисы запускаются через docker compose up, CI/CD деплоит на prod-сервер.


Недели 2–3 (Apr 23 — May 6) — Платёжный слой + Flutter параллельно

Flutter-экраны разрабатываются параллельно с бэкендом. Dev 2 работает против mock-эндпоинтов на неделе 2, на неделе 3 подключается к реальному API.

Apr 23 ──────────────────────── May 6
Dev 1: [──── Payment Manager ────][──── Adapters + SIT ────]
Dev 2: [── Flutter screens (mock) ─][── подключение к API ──]

Неделя 2 (Apr 23–29)

Dev 1: Payment Manager (core)
Dev 2: Flutter платёжные экраны (на mock-данных)

# Задача Ответственный Статус
2.1 Payment Manager: маршрутизация, проверка лимитов, расчёт комиссий Dev 1
2.2 Payment Manager: жизненный цикл транзакции (INFLIGHT → APPLIED/REJECTED) Dev 1
2.3 Payment Manager: двухфазная активация кошелька (blnkfinance Phase 1+2) Dev 1
2.4 BullMQ: настройка очередей payment.outgoing, payment.topup, payment.result Dev 1
2.5 Admin Panel: Seed superadmin + E2E Approve → Finalize Dev 1
2.6 Flutter: Top Up экран — генерация QR, отображение, polling статуса (mock) Dev 2
2.7 Flutter: Pay экран — QR-сканер, TLV-парсинг Thai QR, подтверждение, результат (mock) Dev 2
2.8 Flutter: Transfer экран — поиск по One ID, подтверждение, результат (mock) Dev 2
2.9 Flutter: История транзакций — список, фильтры, детали (mock) Dev 2

Неделя 3 (Apr 30 — May 6)

Dev 1: Provider Adapters + SIT
Dev 2: Подключение Flutter к реальному API + Push

# Задача Ответственный Статус
3.1 IPPS PPXC Adapter: исходящие платежи (Thai QR / PromptPay) Dev 1
3.2 QP API Adapter: входящие пополнения (PromptPay QR) Dev 1
3.3 Webhook-обработчик для IPPS PPXC и QP API (callback приём) Dev 1
3.4 SIT-тестирование: полный цикл Top Up + Pay с реальными sandbox-данными Dev 1
3.5 Flutter: подключить Top Up / Pay / Transfer / History к реальному API Dev 2
3.6 Flutter: блокировка Pay/Top Up если статус не fully_verified Dev 2
3.7 Flutter: FCM push-уведомления — результат платежа, статус KYC Dev 2
3.8 Flutter: APNs интеграция для iOS Dev 2
3.9 S3 улучшения: userId в пути, lifecycle policy на kyc-data Dev 1

Критерий готовности: E2E — пользователь проходит полный цикл: регистрация → KYC → пополнение → платёж → перевод через SIT-среду провайдеров.


Неделя 4 (May 7–13) — QA, Staging, Store Submission

Dev 1 + Dev 2: совместная QA + деплой

# Задача Ответственный Статус
4.1 Deploy staging: полный стек на отдельном окружении Dev 2
4.2 E2E тесты всех потоков на staging (Happy path + ошибки) Оба
4.3 Security: проверка auth_request, rate limiting, JWT expiry Dev 1
4.4 Flutter: финальная сборка release (Android AAB + iOS Archive) Dev 1
4.5 Google Play: загрузка в Internal Testing → Production track Dev 2
4.6 App Store Connect: загрузка, заполнение метаданных, submit на ревью Dev 2
4.7 Grafana: базовые алерты (error rate, service down, payment failures) Dev 1
4.8 DNS + SSL на prod-сервере Dev 2

⚠️ Apple App Store: review занимает 1–3 рабочих дня. Сабмит не позднее 9 мая.


Буфер / Launch (May 14–16) — Production Go-Live

# Задача Ответственный Статус
5.1 Production deploy: все сервисы Оба
5.2 Smoke-тесты на prod Оба
5.3 Мониторинг 24ч после запуска Оба
5.4 Публикация приложения (Google Play + App Store) Dev 2

Сводка по Месяцу 1

Apr 16 ──────────────────────────────────────────────────────── May 16
         │                     │              │           │
      Неделя 1            Недели 2–3       Неделя 4    Launch
    Infra & DevOps       ┌─ Payment ─┐    QA+Staging    Prod
                         └─ Flutter ─┘     +Stores     Go-Live
                          (параллельно)

4. Месяц 2 — Стабилизация и Agent Portal (May 17 — Jun 16)

Цель: Устойчивое prod-окружение, Agent Portal в работе, расширенный UX.

4.1. Стабилизация (May 17–23)

Задача Приоритет
Анализ метрик после 1-й недели в проде P0
Hotfix-цикл по инцидентам из логов P0
Нагрузочное тестирование (stress test основных потоков) P1
Terraform IaC — описать prod-инфраструктуру в коде P1
Полная настройка алертов Grafana (все сервисы по спеке 13-logging.md) P1

4.2. Agent Portal — Backend (May 24 — Jun 1)

Задача Описание
Agent module: Serverpod endpoints CRUD агентов, реферальные коды, баланс агента
Agent commission queue agent.commission в BullMQ, начисление через blnkfinance
Agent withdrawal flow Запрос вывода → очередь → выплата
Admin Panel: управление агентами Approve/suspend/terminate, просмотр клиентов агента

4.3. Agent Portal — Frontend (Jun 2–11)

Задача Описание
SvelteKit PWA: настройка проекта + auth (SSO через Serverpod)
Дашборд агента: баланс комиссий, новые клиенты
Список клиентов с фильтрами
История транзакций и начислений
Форма запроса вывода средств

4.4. Flutter — Enhanced UX (Jun 2–11)

Задача Приоритет
Мультиязычность: EN + TH (l10n) P1
Экран Профиля: персональные данные, смена пароля P1
Push-уведомления: все события (KYC, переводы, пополнения) P1
Google/Apple OAuth (Sign in with) P2

4.5. Финализация Месяца 2 (Jun 12–16)

Задача
E2E тестирование Agent Portal
Deploy Agent Portal в prod
Обновление Flutter-приложения в сторах (v1.1)
Обновление документации (docs/)

5. Месяц 3 — Расширение функционала (Jun 17 — Jul 16)

Цель: Compliance-ready система, расширенный функционал, MiniApps.

5.1. Compliance & Security (Jun 17–27)

Задача Описание
Security audit Penetration test или внутренний аудит по OWASP Top 10
Encryption at-rest Верификация dm-crypt / LUKS на prod PostgreSQL
S3 SSE-KMS Переход на KMS-шифрование для KYC-документов
Регуляторная документация ← заполняется операционной командой (см. раздел 7)

5.2. MiniApps (Jun 17 — Jul 3)

Задача Описание
Flutter WebView контейнер Открытие партнёрских мини-приложений
Auth passthrough JWT передача в WebView для SSO
Admin Panel: управление MiniApps Добавить/убрать/редактировать баннеры

5.3. Deep Linking & Advanced UX (Jul 4–10)

Задача
Universal Links (iOS) + App Links (Android)
Deep link в оплату по QR из сторонних приложений
Offline-режим: показ cached данных при отсутствии сети

5.4. Финализация Месяца 3 (Jul 11–16)

Задача
Релиз Flutter v1.2 в сторах
Полный регрессионный тест
Обновление всей технической документации
Ретроспектива: backlog для следующего квартала

6. Риски и зависимости

Высокие риски

Риск Вероятность Влияние Митигация
App Store review задержка (Apple) Средняя Задержка запуска Submit не позднее 9 мая; подготовить TestFlight как план Б
Ошибки интеграции IPPS / QP в SIT Средняя Сдвиг платёжного слоя Начать тестирование SIT на неделе 2, не ждать неделю 3
Недооценка объёма Payment Manager Средняя Срыв недели 2 При необходимости — перенести S3/logging на месяц 2
Prod-инциденты после go-live Высокая Негативный UX Мониторинг 24/7 первые 72ч, rollback-процедура

Внешние зависимости

Зависимость Статус Кто решает
IPPS PPXC SIT credentials ✅ Есть
QP API sandbox credentials ✅ Есть
Prod-сервер / VPS ✅ Есть Dev 2 настраивает
Apple Developer Program (App Store) Нужна проверка аккаунта Dev 2
Google Play Console Нужна проверка аккаунта Dev 2
FCM / APNs сертификаты Нужна настройка Dev 2

7. Регуляторные требования

⚠️ Этот раздел заполняется операционной командой.

Требование Регулятор Срок Статус Ответственный
Лицензия платёжного оператора
KYC/AML политика
Требования к хранению данных
Pre-launch аудит / инспекция
Reporting requirements
PIN 6 цифр (НацБанк РК?) НацБанк ✅ Реализовано Dev 1
Прочее

8. Распределение команды

Месяц 1 — фокус

Dev 1: API Gateway → Payment Manager → Flutter Pay/TopUp → QA → Store build
Dev 2: Docker/Infra → Provider Adapters → Flutter Transfer/History → Stage deploy

Принцип работы

  • Синхронизация каждое утро (15 мин): статус задач, блокеры
  • Еженедельный PM-чекпоинт в пятницу: обновление этого документа
  • Блокеры эскалируются в день обнаружения — не копятся

Changelog

Дата Версия Изменение
2026-04-16 1.0 Первая версия