|
1 | | -# Compose Multiplatform Application |
| 1 | +# Splashy |
2 | 2 |
|
3 | | -## Before running! |
4 | | - - check your system with [KDoctor](https://github.com/Kotlin/kdoctor) |
5 | | - - install JDK 8 on your machine |
6 | | - - add `local.properties` file to the project root and set a path to Android SDK there |
7 | | - - run `./gradlew podInstall` in the project root |
| 3 | +[](https://github.com/ishubhamsingh/Splashy/actions/workflows/Check.yaml) |
| 4 | + |
| 5 | +## :scroll: Description |
| 6 | +An Unsplash based wallpaper app built with Compose Multiplatform and KMP for Android and iOS. |
| 7 | + |
| 8 | +## :hammer_and_wrench: Tech Stack |
| 9 | + |
| 10 | +- [Kotlin Mutliplatform](https://kotlinlang.org/lp/multiplatform/) |
| 11 | +- [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/) |
| 12 | +- [Ktor Client](https://ktor.io/) |
| 13 | +- [SQLDelight](https://cashapp.github.io/sqldelight/2.0.0/) |
| 14 | +- [Precompose](https://github.com/Tlaster/PreCompose) |
| 15 | +- [Koin](https://insert-koin.io/) |
| 16 | +- [Kamel](https://github.com/Kamel-Media/Kamel) |
| 17 | +- [Napier](https://github.com/AAkira/Napier) |
| 18 | +- [Compose Icons](https://github.com/DevSrSouza/compose-icons) |
| 19 | +- [Moko Permissions](https://github.com/icerockdev/moko-permissions) |
| 20 | +- [Moko MVVM](https://github.com/icerockdev/moko-mvvm) |
| 21 | + |
| 22 | +## :camera_flash: Screenshots |
8 | 23 |
|
9 | 24 | ### Android |
10 | | -To run the application on android device/emulator: |
11 | | - - open project in Android Studio and run imported android run configuration |
12 | 25 |
|
13 | | -To build the application bundle: |
14 | | - - run `./gradlew :composeApp:assembleDebug` |
15 | | - - find `.apk` file in `composeApp/build/outputs/apk/debug/composeApp-debug.apk` |
| 26 | +<img src="/assets/screenshots/android/Screenshot_2.png" width="260"> <img src="/assets/screenshots/android/Screenshot_3.png" width="260"> <img src="/assets/screenshots/android/Screenshot_5.png" width="260"> |
16 | 27 |
|
17 | 28 | ### iOS |
18 | | -To run the application on iPhone device/simulator: |
19 | | - - Open `iosApp/iosApp.xcworkspace` in Xcode and run standard configuration |
20 | | - - Or use [Kotlin Multiplatform Mobile plugin](https://plugins.jetbrains.com/plugin/14936-kotlin-multiplatform-mobile) for Android Studio |
21 | 29 |
|
| 30 | +<img src="/assets/screenshots/ios/Screenshot_2.png" width="260"> <img src="/assets/screenshots/ios/Screenshot_4.png" width="260"> <img src="/assets/screenshots/ios/Screenshot_6.png" width="260"> |
| 31 | + |
| 32 | +## :gear: Build |
| 33 | + |
| 34 | +The app uses Unsplash API, hence you need to get your own API key from [here](https://unsplash.com/documentation). |
| 35 | +In order to sign your builds generate `splashy.jks` keystore and add keystore password, alias and store password in `secrets.properties`. |
| 36 | + |
| 37 | +secrets.properties would look like this: |
| 38 | +``` |
| 39 | +unsplash.access.key=#Add your unsplash key |
| 40 | +splashy.keystore.password=#Add your keystore password |
| 41 | +splashy.key.alias=#Add your key alias |
| 42 | +splashy.key.password=#Add your key password |
| 43 | +``` |
| 44 | + |
| 45 | +## License |
| 46 | +``` |
| 47 | +Copyright Shubham Singh |
| 48 | +
|
| 49 | +Licensed under the Apache License, Version 2.0 (the "License"); |
| 50 | +you may not use this file except in compliance with the License. |
| 51 | +You may obtain a copy of the License at |
| 52 | +
|
| 53 | + https://www.apache.org/licenses/LICENSE-2.0 |
| 54 | +
|
| 55 | +Unless required by applicable law or agreed to in writing, software |
| 56 | +distributed under the License is distributed on an "AS IS" BASIS, |
| 57 | +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 58 | +See the License for the specific language governing permissions and |
| 59 | +limitations under the License. |
| 60 | +``` |
0 commit comments