Об этом проекте

Vacademy — это открытая система управления обучением (LMS) с поддержкой ИИ, предназначенная для образовательных учреждений, преподавателей и учащихся. Проект организован как монорепозиторий, объединяющий серверную часть на микросервисах Java/Spring Boot и два интерфейса на React + TypeScript. Основные возможности, описанные в README: - Управление курсами: курсы, сгруппированные по уровням, предметам, модулям, главам и слайдам, а также централизованная учебная библиотека и управление документами по папкам. - Управление пользователями и учреждениями: институты, потоки, записи преподавателей и студентов с массовым импортом студентов из CSV. - Система аттестаций: создание аттестаций и листов с вопросами, тестирование в реальном времени, выдача домашних заданий, а также оценка и обратная связь с поддержкой ИИ. - Опыт учащегося: персонализированная панель, доступ к учебным материалам, участие в аттестациях и отслеживание прогресса. - Возможности ИИ, объединённые в инструменты VSmart: обработка аудио, чат-помощник, извлечение информации из документов и генерируемая ИИ обратная связь по аттестациям. - Режим презентации: интерактивные презентации курсов с элементами управления докладчика и участием учащихся. - Отчёты и аналитика: отчёты по учащимся и потокам, варианты экспорта и настраиваемые уведомления об отчётах. - Отслеживание учащихся: журнал активности, мониторинг прогресса и метрики вовлечённости. Архитектура: шесть специализированных серверных сервисов, каждый с собственной базой данных и портом — Auth (8071), Admin Core (8072), Community (8073), Assessment (8074), Media (8075) и Notification (8076) — а также общий сервис common и основанный на Python ai_service. Стек использует Java 17, Spring Boot, Maven, PostgreSQL, AWS S3, Redis и Nginx; для продакшена применяются Kubernetes/Helm, а для CI/CD — GitHub Actions. Интеграция OAuth2 поддерживает Google и GitHub; уведомления охватывают электронную почту (AWS SES), WhatsApp и push-уведомления. Интерфейсы: панель администратора (ориентированная на десктоп, со Storybook) и панель учащегося (подход mobile-first, с использованием Capacitor). Оба приложения используют React, TypeScript, Vite, TanStack Router/Query/Table, Radix UI и Tailwind CSS. В README приведены подробные карты маршрутов для обоих приложений. Начало работы: сценарий локальной установки одной командой или Docker Compose поднимает все сервисы с отдельными базами данных PostgreSQL для каждого сервиса, Redis и шлюзом Nginx; каждый сервис предоставляет Swagger UI и конечные точки проверки состояния actuator. Продакшен-развертывание использует Helm-чарты и конфигурацию на основе переменных окружения, управляемую через GitHub Secrets. Репозиторий распространяется по лицензии AGPL v3 и содержит документацию по локальной разработке, настройке секретов, миграции безопасности и каталогам функций.