Track your cinematic journey through interconnected movies
This project aims to demonstrate how to make a production Kotlin Multiplatform app with Compose Multiplatform.
- IntelliJ IDEA / Android Studio / Fleet, with Android SDK
- XCode 15.4 for the iOS app
Create the file local.properties
after cloning the project to be able to compile/run
sdk.dir=<Path to Android SDK>
tmdb.api.key=<Your TMDB API Key>
On MacOS, your Android SDK is probably located at /Users/<user>/Library/Android/sdk
.
Open the project in IntelliJ IDEA, Android Studio or Fleet and run the generated run configuration.
Open the XCode project using XCode 15.4 and run the target.
Run gradle task desktopRun
from your IDE or terminal:
./gradlew desktopRun
To release a new version of the app, make sure you're on the develop
git branch then run one of the following
commands:
# Release (will use current -SNAPSHOT version number) then increment fix number for subsequent snapshots
./release.sh
# Release with a specific version number, then increment fix number for subsequent snapshots
# Use this to release a new minor or major version
./release.sh 1.2.3
The script will automatically run the release process:
- New Gitflow release with the appropriate name
- Changes to
build.gradle.kts
and XCode project - Commits to various branches
- Backmerge into
develop
You should be immediately ready to continue working on the project after running the release script.
This application uses TMDB and the TMDB APIs but is not endorsed, certified, or otherwise approved by TMDB.
Copyright 2024 Wizbii
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.