Skip to content

Repository files navigation

Magic Pinecone

English | 正體中文

Magic Pinecone app icon

Magic Pinecone(神奇松果)is an all-in-one campus app for National Central University students.

This repository is the Kotlin Multiplatform rewrite of the original Flutter app. It is under active development.

Want to try Magic Pinecone in a browser? Check out the Lite version.

Features

  • Course search: Browse and search the NCU course catalog.
  • Timetable planning: Select courses, preview them on a timetable, and explicitly save a plan.
  • Offline persistence: Store course data and saved plans in a local SQLite database with Room.
  • Native platform shells: Use Jetpack Compose on Android and SwiftUI on iOS while reusing core logic, data, and Compose UI through KMP.

Portal integration and session management from the Flutter app have not been migrated yet.

Getting started

Prerequisites

  • JDK 17
  • Android Studio with an Android SDK for API 37
  • Xcode for the iOS app

Clone the repository

git clone https://github.com/magic-pinecone/mpc-compose.git
cd mpc-compose

Run Android

Open the project in Android Studio and run the androidApp configuration, or build a debug APK from the command line:

./gradlew :androidApp:assembleDebug

Run iOS

  1. Set your Apple development team in iosApp/Configuration/Config.xcconfig.
  2. Open iosApp/iosApp.xcodeproj in Xcode.
  3. Select a target device and run the app.

Tests and checks

Run the shared Android-hosted and iOS simulator tests:

./gradlew :shared:testAndroidHostTest
./gradlew :shared:iosSimulatorArm64Test

Run all configured project checks:

./gradlew check

The full check also requires SwiftLint to be installed.

Acknowledgements

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages