Мобильное приложение для LMS Центрального университета
Возможности • Установка • Сборка • Архитектура • Лицензия
- Авторизация — безопасный вход через OAuth 2.0
- Курсы — просмотр курсов, тем и материалов
- Задания — отправка работ, отслеживание дедлайнов и прогресса
- Материалы — чтение лонгридов, скачивание вложений
- Расписание — интеграция с iCal-календарём
- Успеваемость — просмотр оценок и статистики по курсам
- Сканирование работ — сканирование рукописных работ с конвертацией в PDF
| Компонент | Версия |
|---|---|
| Flutter SDK | 3.38+ (stable) |
| Dart SDK | 3.10+ |
| Xcode | 15+ (для iOS) |
| Android Studio | Hedgehog+ (для Android) |
git clone https://github.com/cu-3rd-party/lms-mobile.git
cd cumobileflutter pub get# Запуск в режиме отладки
flutter run
# Запуск на конкретном устройстве
flutter run -d <device_id># Сборка для iOS
flutter build ios --release
# Сборка IPA для распространения
flutter build ipa# Сборка APK
flutter build apk --release
# Сборка App Bundle для Google Play
flutter build appbundle --releaseДля сборки релиза используется скрипт scripts/build_release.sh.
Он автоматически:
- повышает версию в
pubspec.yamlна основе последнего git-тегаvX.Y.Z - создаёт коммит и git-тег
- собирает Android APK и iOS IPA в режиме release
- сохраняет артефакты в папку
release/
# Повышение patch-версии (по умолчанию)
./scripts/build_release.sh
# Повышение minor-версии
./scripts/build_release.sh minor
# Повышение major-версии
./scripts/build_release.sh major
# Повышение версии с push коммита и тега
./scripts/build_release.sh patch --pushПроект использует feature-first архитектуру с чётким разделением на слои:
lib/
├── app/ # Точка входа, MaterialApp, тема
├── core/ # Общие сервисы и утилиты
│ └── services/ # Логирование, обновления, утилиты
├── data/ # Слой данных
│ ├── models/ # Модели данных (Course, Task, Profile)
│ └── services/ # API-клиент, iCal-интеграция
├── features/ # Функциональные модули
│ ├── auth/ # Авторизация
│ ├── course/ # Просмотр курсов
│ ├── home/ # Главный экран, вкладки
│ ├── longread/ # Материалы и задания
│ ├── notifications/ # Уведомления
│ ├── performance/ # Успеваемость
│ ├── profile/ # Профиль пользователя
│ └── settings/ # Настройки
└── main.dart # Точка входа
Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.





