Ключевые тезисы.
38.
микросервисов
38.
PostgreSQL-баз
12.
этапов roadmap done
Стек
Теги
CosEdu — масштабная платформа дистанционного образования, разработанная как русскоязычный аналог Coursera для России и стран СНГ. Полностью микросервисная архитектура: 38 независимых Go-сервисов, каждый со своей PostgreSQL-базой (database-per-service), общающихся через gRPC (синхронно) и NATS (асинхронно). Фронтенд — Next.js 15 App Router + React 19 + TypeScript + Tailwind 4 + shadcn/ui. Не просто LMS: тесная связка образования, блокчейн-сертификации в Ethereum и пути к трудоустройству, который заранее согласован с работодателем.
Проблема и контекст
Российский рынок онлайн-образования закрыт сразу с двух сторон. Coursera, edX и большинство западных платформ либо заблокированы, либо недоступны по платежам. Локальные альтернативы решают задачу частично: либо это маркетплейсы курсов без серьёзной аккредитации (нет верификации сертификатов), либо корпоративные LMS без публичного каталога. Параллельно главная боль рынка труда — разрыв между учебным результатом и реальным трудоустройством: получил диплом, прошёл курс — и снова на собеседование без гарантий. CosEdu закрывает обе проблемы: единая платформа с публичным маркетплейсом, блокчейн-сертификатами с публичной верификацией и Career Path — карьерными треками, заранее согласованными с конкретным работодателем, с гарантией собеседования или трудоустройства.
Три киллер-фичи
- Career Path: предприятия публикуют карьерные треки (набор курсов, навыков, проектов). Студент проходит трек и автоматически получает приглашение на собеседование или гарантированное трудоустройство — решает разрыв между обучением и трудоустройством
- Блокчейн-сертификация: каждый сертификат выпускается как цифровой актив в Ethereum L2 (Polygon/Arbitrum) с уникальным ID. Работодатель может публично верифицировать сертификат, исключая фальсификацию
- Собственный видеохостинг CosTube (на PeerTube): для аттестованных курсов видео обязательно на CosTube — нет зависимости от YouTube, контроль качества, соответствие требованиям аккредитации
Аудитории и монетизация
B2C-маркетплейс: индивидуальные пользователи покупают курсы независимых авторов. Скользящая комиссия по уровню аттестации автора: новый Author — 20%, Verified преподаватель — 10%, Expert — 5%. CosEdu берёт разницу и инвестирует в модерацию и развитие. B2B-корпоративный сегмент: подписка Team (5–125 пользователей) или Enterprise (125+) с SSO, SCORM-импортом готовых курсов, аналитикой и управлением лицензиями. B2B-Campus: специальные условия для университетов. B2G-государственный сегмент: закрытая зона для госорганизаций, нацпроекты, программы переподготовки безработных, отчётность и интеграция с госсистемами. White-label: индивидуальные домены, логотипы и CMS для крупных Enterprise-клиентов.
Архитектура 38 микросервисов
Все сервисы — Go-сервисы по единому паттерну: main.go → config → database.Connect → repository → service/handler → server.Run. Слушают на портах 8080–8117, каждый имеет свою PostgreSQL-базу (cosedu_auth, cosedu_profiles, ..., cosedu_xrcontent). Единая точка входа — API Gateway на порту 8080, маршрутизирует все запросы фронтенда и внешних клиентов. Сервисы общаются через gRPC и NATS. Объединены через go.work в монорепо.
38 сервисов в группах
- Core: Gateway API, Auth & Identity (JWT, RBAC, восстановление пароля), User Profile, Organization (компания/университет/госучреждение)
- Education: Course Builder (структура модулей и уроков), Content Engine (контент-блоки Markdown/видео/embed), Assessment Engine (5 типов вопросов, задания с ручной проверкой), Live Learning (вебинары с записью в CosTube), AI Assistant (GPT-помощник, Whisper-транскрипция, автоперевод)
- Progress & Certification: Progress Tracker (отслеживание прохождения, streaks), Certification Engine (выпуск сертификатов с блокчейн-верификацией), Attestation (Author → Verified → Expert)
- Marketplace: Catalog (полнотекстовый поиск через tsvector), Recommendation (ML-рекомендации), Review & Rating (отзывы с триггерами для среднего)
- Career: Career Path (карьерные треки от партнёров), Skills Dashboard (карта компетенций, gap-анализ)
- Finance: Billing (подписки), Payment Gateway (ЮKassa + webhook), Revenue Share (расчёт комиссий по статусу автора)
- Communication: Messaging (личные сообщения), Forum (Q&A с голосованием), Notification (email/push/in-app)
- Admin & Analytics: Analytics (для каждой роли), Moderation (AI-фильтры, антиплагиат), Admin Panel (суперадмин)
- Infrastructure: Media Proxy (для CosTube/PeerTube), i18n (4+ языка), Search (полнотекст), File Storage (S3-совместимое)
- Code: CodeRunner (Python/Go/JS/Java/C++/SQL в песочнице), Notebook (Jupyter-like с версионированием), SCORM (импорт)
- Premium: Proctoring (экзамены с веб-камерой и trust score), License (Team/Enterprise SSO), B2G (госконтракты), White-label, XR Content (AR/VR через WebXR + glTF)
Технологии и инфраструктура
Backend: Go 1.26, gRPC + NATS 2.10, PostgreSQL 16 (38 БД), Redis 7. Frontend: Next.js 15 App Router, React 19, TypeScript, Tailwind CSS 4 (fluid scaling), shadcn/ui. Две зоны фронтенда: `(public)` (лендинг, каталог, регистрация) и `(app)` (личный кабинет, курсы, профиль). Инфраструктура: Docker Compose локально, production — два сервера (cosedu-app для фронта и Go-сервисов, cosedu-db для баз и кэша), Caddy reverse proxy с автоматическим HTTPS через Let's Encrypt. Блокчейн: Ethereum L2 (Polygon/Arbitrum) для сертификации. Конфигурация — переменные окружения в `.env`.
Дорожная карта
Реализованы все 12 этапов roadmap (55+ блоков): Block 0 (апрель 2025) — инициализация ядра (Gateway, Auth, Profile). Blocks 1–2 — базовые сервисы образования (Course, Content, Assessment, Progress). Blocks 3–4 — интеграция AI, прокторинг, сертификация. Blocks 5–6 — масштабирование (мобильное приложение, enterprise-функции, 38+ сервисов). Blocks 7–12 — оптимизация, production-деплой, маркетинг. На май 2026 — production на cosedu.ru и api.cosedu.ru, активная разработка с фокусом на пилотные внедрения у корпоративных клиентов и расширение Career Path-партнёров.
Образование, сертификат, работа — это не три разных процесса. Это один процесс, разделённый на этапы.