Skip to content

cu-3rd-party/lms-mobile

Repository files navigation

CU Mobile

Мобильное приложение для LMS Центрального университета

Flutter Dart iOS Android License

ВозможностиУстановкаСборкаАрхитектураЛицензия


Скриншоты


✨ Возможности

  • Авторизация — безопасный вход через OAuth 2.0
  • Курсы — просмотр курсов, тем и материалов
  • Задания — отправка работ, отслеживание дедлайнов и прогресса
  • Материалы — чтение лонгридов, скачивание вложений
  • Расписание — интеграция с iCal-календарём
  • Успеваемость — просмотр оценок и статистики по курсам
  • Сканирование работ — сканирование рукописных работ с конвертацией в PDF

📋 Требования

Компонент Версия
Flutter SDK 3.38+ (stable)
Dart SDK 3.10+
Xcode 15+ (для iOS)
Android Studio Hedgehog+ (для Android)

🚀 Установка

1. Клонирование репозитория

git clone https://github.com/cu-3rd-party/lms-mobile.git
cd cumobile

2. Установка зависимостей

flutter pub get

3. Запуск приложения

# Запуск в режиме отладки
flutter run

# Запуск на конкретном устройстве
flutter run -d <device_id>

📦 Сборка

iOS

# Сборка для iOS
flutter build ios --release

# Сборка IPA для распространения
flutter build ipa

Android

# Сборка 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages