No description
  • Dart 95.8%
  • Swift 3.6%
  • Shell 0.5%
  • Ruby 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-06 01:34:12 +03:00
android fix(android): use system photo picker instead of media permissions 2026-10-06 00:58:37 +03:00
assets chore: update screenshot 2026-10-06 00:58:37 +03:00
ios chore(ios): run Runner scheme in Release configuration 2026-10-06 00:58:37 +03:00
lib feat: render tables, images and videos in longreads 2026-10-06 01:33:40 +03:00
scripts chore: unify build scripts into single build.sh 2026-05-05 14:36:56 +03:00
.gitignore fix: enforce encrypted traffic and restore certificate validation 2026-08-31 23:31:52 +03:00
.metadata feat: initial release 2026-01-12 00:08:04 +03:00
analysis_options.yaml feat: initial release 2026-01-12 00:08:04 +03:00
devtools_options.yaml feat: initial release 2026-01-12 00:08:04 +03:00
LICENSE docs: update README and add MIT license 2026-01-26 14:45:10 +03:00
pubspec.lock fix(android): use system photo picker instead of media permissions 2026-10-06 00:58:37 +03:00
pubspec.yaml chore: bump version to 1.1.6 2026-10-06 01:34:12 +03:00
README.md chore: rename app to LMS 2026-04-16 07:35:29 +03:00

LMS 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 --release --obfuscate --split-debug-info=out/ios-symbols

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               # Точка входа

🤖 Разработка с AI

Код этого проекта написан с помощью Claude Code и Cursor.

📄 Лицензия

Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.