/kanbasu

📚 A third-party mobile App for Canvas LMS tailored for SJTU open Canvas system.

Primary LanguageDartApache License 2.0Apache-2.0

kanbasu

Coverage Status Test Codemagic build status

Kanbasu is a third-party mobile App for Canvas LMS. It implements students' most-used functionalities, and is tailored for SJTU open Canvas system.

Key Features

  • Enhanced activities view
  • Full offline capability
  • Download all files in one click
  • Chat-like discussion view
  • iOS, Android, macOS, Windows, Linux support

The Development Cycle

  • Install Android Studio or VSCode (with Flutter support)
  • Install Flutter from SJTUG mirror
git clone https://git.sjtu.edu.cn/sjtug/flutter-sdk flutter -b stable
  • Checkout a new branch for new feature git checkout -b some-new-feature
  • Do codegen (Do remember this step, otherwise compiler will complain on unexpected locations)
flutter pub run build_runner build
  • Start development and test through Mobile or Desktop environment
    • Mobile: flutter devices && flutter run -d device-id
    • Desktop: Refer to this article and flutter run -d macos/windows.
  • Write unit tests (only for backend APIs, no need for UI components)
  • Add changed files manually (Please don't add project-configuration-related files) and commit
  • Lint (flutter analyze, dart fix --dry-run && dart fix --apply)
  • Add changed files and commit again
  • Push and submit PR, fill the PR title in format module: what's changed