Перейти к содержимому
Otabek Abdiraimov
Все работы

Кейс

Iqbola — школьная ERP, где каждая школа является тенантом

Один продукт, который закрывает финансы, CRM, журнал, расписание, чат и документооборот для множества школ одновременно, не допуская утечки данных одной школы в другую.

Роль
Full-Stack разработчик, команда из 5
Сроки
Апр 2026 — настоящее время
Локация
Ташкент, Узбекистан
Сайт
iqbola.uz
Стек
FastAPIPostgreSQLSQLAlchemyAlembicCeleryRedisReactTypeScriptTanStack QueryZustandTailwindi18nextRecharts
Главная страница и админ-панель Iqbola

Проблема

Школы живут на груде таблиц и бумаги: посещаемость в одном файле, оценки в другом, оплата и зарплата где-то ещё. Один продукт должен обслуживать много школ сразу и никогда не смешивать данные одной школы с другой, при этом все школы следуют одним национальным правилам оценивания и учебных периодов.

Что сделал

  • Изоляция тенантов на PostgreSQL row-level security: её обеспечивает сама база данных, а не привычка добавлять WHERE. Поверх этого: RBAC, аутентификация по JWT, версионирование прав, которое инвалидирует устаревшие токены, и проверка доступа на каждом эндпоинте.
  • Движок оценивания для двух параллельных систем: классической 5-балльной и 100-балльной критериальной. Обе питают одну и ту же агрегацию по четвертям и семестрам, с блокировкой периодов и правилами официального календаря, чтобы оценки нельзя было менять после закрытия четверти.
  • Финансовые модули под ключ: зарплата, кассовые операции, бонусы и штрафы, подписки, транзакции и аналитические дашборды на Recharts.
  • Большая часть супер-админского бэкофиса на React и TypeScript: 11 экранов по управлению тенантами, справочникам, тарифам, журналу аудита и статистике, плюс часть его бэкенда. Супер-админы подключают школы и управляют ими без помощи инженеров.
  • Экраны фич в основном веб-приложении: журнал, финансы и расписание — на TanStack Query, Zustand, Tailwind CSS и i18next.
  • Внутренний QA-пайплайн из AI-агентов, интегрированный с Jira, Confluence и Figma, который стандартизировал проверку требований и тестовую документацию.

Результат

  • Одна платформа для финансов, CRM, журнала, расписания, чата и документооборота.
  • Новые школы подключает администратор через бэкофис, без разработчика.
  • Правила оценивания живут в одном движке, а не переписываются в каждом модуле.