A Kotlin Multiplatform mobile app built with Compose Multiplatform and Material 3. Browse pasta dishes on a circular carousel, open detail screens with ingredients and stats, and adjust quantity before adding to cart.
Targets: Android · iOS (via embedded Compose framework)
The app flow is the same on Android and iOS:
- Home — Dark circular “table” with pasta images in a rotating carousel; tap a plate to select, then Select Pasta to open details.
- Detail — Hero with title, description, price, and Order Now; ingredients section with time, calories, and rating; quantity stepper and Add to Cart.
| Placeholder | Add your recording or screenshots below |
|---|---|
| Screen recording | Record a short clip (simulator or device) and embed or link it. |
| Screenshots | Drop images into docs/ (e.g. docs/demo-home.png, docs/demo-detail.png) and reference them here. |
Suggested demo assets
docs/demo-home.png— home screen with carouseldocs/demo-detail.png— detail screen with hero and footer
Example once files exist:

Or link a hosted video:
[Watch demo (30s)](https://example.com/pasta-menu-demo.mp4)- Shared UI in
commonMain: home carousel, detail hero, ingredients, cart footer - Compose Resources for strings, string arrays, and vector drawables (icons, images)
- Simple in-composition navigation (home ↔ detail), no AndroidX Navigation in shared code
- Material 3 theming (
PastaTheme)
| Layer | Choice |
|---|---|
| Language | Kotlin |
| UI | Compose Multiplatform, Material 3 |
| Shared resources | composeResources (strings, drawables) |
| Async / state | Compose remember / rememberSaveable |
PastaMenuApp/
├── composeApp/ # KMP module (Android app + shared Compose UI)
│ └── src/
│ ├── commonMain/ # Shared UI, theme, resources
│ ├── androidMain/ # Android entry (MainActivity)
│ └── iosMain/ # iOS Compose entry (MainViewController)
└── iosApp/ # Xcode iOS shell that embeds ComposeApp
- JDK 11+
- Android Studio / IntelliJ with KMP and Compose plugins (or CLI Gradle)
- Xcode (for iOS) on macOS
./gradlew :composeApp:assembleDebugInstall the debug APK from composeApp/build/outputs/apk/debug/, or run the composeApp configuration from Android Studio.
Open iosApp in Xcode and run on a simulator or device, or use your IDE’s iOS run configuration if configured.
Add your license here if applicable.
