ZeroShare is a peer-to-peer file sharing application built with Kotlin Multiplatform, targeting Android, iOS, and Desktop platforms. It uses Nebula Mesh network for secure networking and enables direct file transfers between devices.
- JDK 11 or later
- Android Studio / IntelliJ IDEA
- Xcode (for iOS development)
- Docker (for running the backend)
/composeApp
- Shared Compose Multiplatform UI code/iosApp
- iOS specific code and project files/shared
- Common code shared between all platforms/libs
- External libraries including Nebula implementation
Follow the self-hosting guide here to set up the backend.
Create a local.properties
file in the project root and add:
#backendUrl=http://localhost:4000 #when running on android emulator
backendUrl=http://localhost:4000
# Google's Oauth client ID
serverId=
- Open the project in Android Studio
- Sync project with Gradle files
- Run the app on an Android device/emulator
Run the desktop application:
./gradlew :composeApp:run
[WIP]