Okiyumi Rent
Мультитенантная платформа автоматической аренды Steam-аккаунтов
Продуктовая инженерия · автоматизация
Жизненный цикл аренды — от заказа на FunPay до ротации пароля — без единого ручного шага.
Контекст
Продакшен-платформа, автоматизирующая аренду Steam-аккаунтов через FunPay. Каждый заказ — это цепочка операций, которую раньше выполнял человек.
Задача
Обработка заказа вручную: заметить заказ, выбрать свободный аккаунт, выдать доступы, контролировать время, работать со Steam Guard, завершить аренду, отозвать сессии, сменить пароль, вернуть деньги при отказе.
Решение
- 01
Машина состояний аренды: worker с тиком каждые 5 секунд проходит все аренды и выполняет выдачу, предупреждения, истечение, продление и возвраты.
- 02
Надёжность в деталях: transactional outbox, идемпотентность, выделение аккаунтов через SELECT … SKIP LOCKED, шифрование секретов.
- 03
Собственная Steam-автоматизация: fresh-login verification, отзыв сессий, ротация паролей и работа со Steam Guard.
Архитектура
Web SPA
React 19 · Vite · TSAPI
Fastify 5PostgreSQL 16
Prisma · outboxWorker
тик 5 секунд · state machineFunPay adapter · Telegram-бот
заказы · операцииSteam automation
Guard · сессии · паролиFLOW
- 01Заказ на FunPayworker tick→ Выдача аккаунта
- 02Активная аренда→ Истечение / продление
- 03Завершение→ Revoke сессий · новый пароль
Цифры
заказов FunPay за 30 дней
тик worker'а
Steam-аккаунтов
выручка за snapshot
снимок аудита, не lifetime
Стек
- React 19
- Vite
- TypeScript
- Fastify 5
- Prisma
- PostgreSQL 16
- Python 3.12
- FastAPI
- FunPayAPI
- grammY
- Docker
- nginx
Итог
- Полный цикл без оператора: заказ, выдача, контроль времени, завершение, безопасность аккаунта — платформа живёт в продакшене.
- Мультитенантность с изоляцией данных и IDOR-тестами: платформа рассчитана не на один магазин.