Mobile Applications Course (MA)

February 11, 2026 ยท View on GitHub

This repository contains the lecture materials, source code, and demos for the Mobile Applications course. It serves as a comprehensive reference for building mobile apps using Android (Kotlin/Compose), Flutter, and iOS (Swift).

๐Ÿ“‚ Repository Structure

The lectures/ directory is organized by week, covering the following topics:

WeekTopicKey Concepts
01IntroductionNative/React Native/Flutter setup, Hello World apps
02UI & LayoutsLists, RecyclerView, ConstraintLayout, Adaptive Design
03Navigation & DataFragments, Navigation Drawer, File storage, DataStore
04Local StorageSQLite, Room, Realm, ObjectBox, SQLDelight
05Async ProgrammingCoroutines, Flow, RxJava, RxSwift, LiveData
06State ManagementProvider, Riverpod, BLoC, Hooks, Ephemeral State
07Auth & NetworkingBiometrics, CameraX, JWT Auth (Go/Rust/Flutter), Retrofit
08Background WorkWorkManager, Sensors (Accelerometer), Alarms, Background Fetch
09AnimationsTransitions, MotionLayout, Lottie, Flutter Animations
10Advanced UIMaps, Accessibility, Widgets, Canvas, Localization
11Cloud ServicesFirebase (Auth/Database), AdMob, Crashlytics
12ArchitectureClean Architecture, Jetpack Compose, KMP (Kotlin Multiplatform)
13AI & Machine LearningOn-device ML, Face Detection, LLM Inference
14Testing & ServerUnit/UI Testing (Espresso, Robolectric), Game Servers (Phaser)

๐Ÿ›  Setup & Requirements

To run the projects in this repository, you may need the following tools installed:

  • Android Studio (for Android/Kotlin projects)
  • Xcode (for iOS/Swift projects, requires macOS)
  • Flutter SDK
  • Node.js (for backend/server demos)
  • Rust/Cargo (for Rust backend demos)
  • Go (for Go backend demos)

๐Ÿ” Security & Maintenance

Legacy Code

  • The archives.tar.gz file contains archived legacy projects (2016-2019) that are no longer maintained.

Dependency Management

  • Please ensure you are using safe versions of dependencies.

๐Ÿงน Utility Scripts

  • cleanup-builds.sh: Removes build/ and .gradle/ directories to free up space.
  • cleanup-credentials.sh: Scans for and removes accidental credential commits (e.g., google-services.json).

๐Ÿ“„ License

This project is for educational purposes.