Files
spacedrive/docs/developers/prerequisites/environment-setup.md
Utku ca6ec598d4 Onboarding, Spacedrop & Location Settings Screen & Styled API (#596)
* fix wrong current lib logic

* add delete lib dialog to LibraryGeneralSettings

* add delete lib to mobile LibraryGeneralSettings too

* onboarding screens

* move zxcvbn to @sd/client

* get started screen and bloom

* merge fix

* move generatePassword back to interface

* add useZodForm to mobile and match react-hook-form versions

* new lib screen

* Implement styled api

* create lib screen and some tweaks

* password input

* fix password meter comp

* new library style tweaks

* Fix remove password bug (interface)

* master password screen

* privacy screen

* creating lib screen

* hexagons are cool

* Expo 48

* keyboard handling

* fix P2P on IOS

* fix types

* asset script

* new icons

* Spacedrop screen

* Fix mobile asset imports

* fix import cycle warning

* Edit Location Settings screen and style changes on other setting screens

* fix library creating bug? hopefully lol

* move PasswordMeter to interface

---------

Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
2023-03-17 02:00:02 +00:00

2.0 KiB

index
index
1

Environment Setup

To get started contributing to Spacedrive, follow this guide carefully.

This project uses Cargo and pnpm.

Installation

  1. Clone repo

    git clone https://github.com/spacedriveapp/spacedrive && cd spacedrive
    
  2. Run setup script

    For Linux or MacOS users run:

    ./.github/scripts/setup-system.sh
    

    This will install FFmpeg and any other required dependencies for Spacedrive to build.

    ...or for Windows users run using PowerShell:

    .\.github\scripts\setup-system.ps1
    

    This will install pnpm, LLVM, FFmpeg and any other required dependencies for Spacedrive to build. Ensure you run it like documented above as it expects it is executed from the root of the repository.

  3. Install dependencies

    pnpm i
    
  4. Run codegen & build required dependencies

    pnpm prep
    

Running apps

  • Desktop: pnpm desktop dev
  • Landing: pnpm landing dev
  • Server: DATA_DIR=/path/to/library cargo run -p sdcore
  • Webapp: pnpm web dev

::: slot note When changing branches, make sure to run pnpm prep command right after. This ensures all the codegen is up to date. :::

Mobile app

To run mobile app

  1. Install Android Studio for Android and Xcode for IOS development
  2. ./.github/scripts/setup-system.sh mobile The should setup most of the dependencies for the mobile app to build.
  3. You must also ensure you have NDK 23.1.7779620 and CMake in Android Studio
  4. pnpm mobile android - runs on Android Emulator
  5. pnpm mobile ios - runs on iOS Emulator

Troubleshooting

If you are having issues ensure you are using the following versions of Rust and Node:

  • Rust version: 1.67.0
  • Node version: 18