Вовлечение
Баллы и достижения
Начисления за действия, уровни и награды
Правила начисления описываются декларативно: за какое событие сколько баллов и с каким ограничением по частоте. Достижения выдаются по условию, баллы можно тратить.
Что внутри
- Правила начисления в одном файле, без правок по коду
- Защита от накрутки — лимиты по частоте и сумме
- Достижения с условиями и прогрессом
- Списание баллов на внутренние покупки
Что добавит в проект
Поверх общей базы — она уже даёт авторизацию, базу и интерфейс.
Таблицы в базе4
Маршруты2
Разбор архитектуры
Баланс — не колонка, а сумма событий. Колонку рано или поздно разъезжает с историей при гонке или откате, а по событиям всегда видно, откуда взялось число, и любое начисление можно отменить задним числом. Текущий баланс кэшируется отдельной таблицей и пересчитывается из событий.
Общая база
Пустое, но рабочее приложение: авторизация, база, UI-кит и деплой уже собраны и связаны между собой. Модули не переписывают его файлы — они добавляют свои и регистрируются в готовых точках расширения, поэтому их можно ставить в любом сочетании.