Skip to content

Commit

Permalink
chore : update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
jerryOkafor committed Jun 18, 2024
1 parent a2ec09d commit 8ffce8c
Showing 1 changed file with 39 additions and 30 deletions.
69 changes: 39 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,37 @@ height="80">](#)
alt="Get it on App Store"
height="80">](#)

SMShare is a Kotlin Multiplatform project targeting Android, iOS, Web, Desktop. The UI of SMSahre is written completely in Jetpack Compose and shareed accross iOS, Android and Desktop.
SMShare is a Kotlin Multiplatform project targeting Android, iOS, Web, Desktop. The UI of SMSahre is
written completely in Jetpack Compose and shareed accross iOS, Android and Desktop.

* `/composeApp` is for code that will be shared across your Compose Multiplatform applications.

* `/iosApp` contains iOS applications.


## Building

You will require the following rools to build and run SMSahre

- Android SAndroid Studio Jellyfish | 2023.3.1 or higher
- Java 17 installed
- Xcode Version >> 15.4

<details><summary><h4>Android</h4></summary>



#### Using Android Studio
Open the KMP project using Android Studio, select the `composeApp` run configuration and click on run.

Open the KMP project using Android Studio, select the `composeApp` run configuration and click on
run.

#### Using Fleet
Fleet uses Smart Mode to detect and configure the Android run configuration for you.You can modify in the [Run Json file](.fleet/run.json)

Fleet uses Smart Mode to detect and configure the Android run configuration for you.You can modify
in the [Run Json file](.fleet/run.json)

#### Using Command line
To run the Android app, use the command below or select the `composeApp` configuration on Android Studio and click on run.

To run the Android app, use the command below or select the `composeApp` configuration on Android
Studio and click on run.

``bash

Expand Down Expand Up @@ -65,24 +74,33 @@ Fleet uses Smart mode to configure iOS run configuration for you. You can modify
Fleet uses Smart mode to detect and configure the various run configurations for you for iOS, Android, Desktop and Server. Ensure the You have Xcode, Android Studio, iOS Simulator, Android Emulator all installed or Physical iphone and Android Devices plugged in.

#### From Command Line

To run the server code, you can run the gradle command below:

```bash
./gradlew :server:run
```
Open: `http://0.0.0.0:8080/` to see the response from the server.

Open: `http://0.0.0.0:8080/` to see the response from the server.

#### Testing Locally from your phone, run the following command:

##### Android

Ensure yuor android phone is connected and adb is running, then run

```bash
adb reverse tcp:8080 tcp:8080
```
Then open `http://localhost:8080` from your android phone to test. You can now also use this in the base url of

Then open `http://localhost:8080` from your android phone to test. You can now also use this in the
base url of
your api requests for Android.

#### iOS
For iOS, you can follow this guide : [How to open a localhost website on iPhone / iOS](https://maxschmitt.me/posts/localhost-iphone-ios)

For iOS, you can follow this
guide : [How to open a localhost website on iPhone / iOS](https://maxschmitt.me/posts/localhost-iphone-ios)
</details>

## Code Style (Todo)
Expand All @@ -101,32 +119,23 @@ For iOS, you can follow this guide : [How to open a localhost website on iPhone

## Reference

[Jetpack Room KMP](https://johnoreilly.dev/posts/jetpack_room_kmp/)
[Advanced work with the Snackbar in the Jetpack Compose](https://proandroiddev.com/advanced-work-with-the-snackbar-in-the-jetpack-compose-9bb7b7a30d60)
[FantasyPremierLeague](https://github.com/joreilly/FantasyPremierLeague/tree/main)
[Tivi](https://github.com/chrisbanes/tivi)
[Compose Custom Window frame](https://github.com/amir1376/compose-custom-window-frame)
[Targeting Android in KMP](https://medium.com/kodein-koders/targeting-android-in-a-kotlin-multiplatform-mobile-library-b6ab75469287)
[Understanding and Configuring your Kotlin Multiplatform Mobile Test Suite](https://touchlab.co/understanding-and-configuring-your-kmm-test-suite)
[KMM-PicSplash](https://github.com/cvivek07/KMM-PicSplash)
- [Jetpack Room KMP](https://johnoreilly.dev/posts/jetpack_room_kmp/)
- [Advanced work with the Snackbar in the Jetpack Compose](https://proandroiddev.com/advanced-work-with-the-snackbar-in-the-jetpack-compose-9bb7b7a30d60)
- [FantasyPremierLeague](https://github.com/joreilly/FantasyPremierLeague/tree/main)
- [Tivi](https://github.com/chrisbanes/tivi)
- [Compose Custom Window frame](https://github.com/amir1376/compose-custom-window-frame)
- [Targeting Android in KMP](https://medium.com/kodein-koders/targeting-android-in-a-kotlin-multiplatform-mobile-library-b6ab75469287)
- [Understanding and Configuring your Kotlin Multiplatform Mobile Test Suite](https://touchlab.co/understanding-and-configuring-your-kmm-test-suite)
- [KMM-PicSplash](https://github.com/cvivek07/KMM-PicSplash)

## Contributions

If you've found an error in this sample, please file an issue.

Patches are encouraged and may be submitted by forking this project and
submitting a pull request.Since this project is still in its very early stages,
submitting a pull request.Since this project is still in its very early stages,
if your change is substantial, please raise an issue first to discuss it.

## License

```
The MIT License (MIT)
Copyright (c) 2024 SMShare Projects
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
```
[MIT License](/LICENSE.tx)

0 comments on commit 8ffce8c

Please sign in to comment.