Skip to content

jobinlawrance/zeroshare-multiplatform

Repository files navigation

ZeroShare

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.

Prerequisites

  • JDK 11 or later
  • Android Studio / IntelliJ IDEA
  • Xcode (for iOS development)
  • Docker (for running the backend)

Project Structure

  • /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

Setup

Backend Setup

Follow the self-hosting guide here to set up the backend.

Environment Configuration

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=

Building the Project

Android

  1. Open the project in Android Studio
  2. Sync project with Gradle files
  3. Run the app on an Android device/emulator

Desktop

Run the desktop application:

./gradlew :composeApp:run

iOS

[WIP]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published