diff --git a/README.md b/README.md
index 951292457..e30350e3e 100644
--- a/README.md
+++ b/README.md
@@ -13,11 +13,11 @@
Download for
- macOS
+ macOS
·
- Windows
+ Windows
·
- Linux
+ Linux
·
iOS
·
@@ -37,13 +37,25 @@ Organize files across many devices in one place. From cloud services to offline
For independent creatives, hoarders and those that want to own their digital footprint. Spacedrive provides a file management experience like no other, and its completely free.
+
-
# What is a VDFS?
A VDFS (virtual distributed filesystem) is a filesystem designed to work atop a variety of storage layers. It is not restricted to a single machine, with a uniform API to manipulate and access content across many devices. It achieves this by maintaining a virtual index of all storage locations, synchronizing the database between clients in realtime. This implementation also uses [CAS](https://en.wikipedia.org/wiki/Content-addressable_storage) (Content-addressable storage) to uniquely identify files, while keeping record of logical file paths relative to the storage locations.
@@ -84,7 +96,6 @@ Many of us have multiple cloud accounts, drives that aren’t backed up and data
# Developer Installation Instructions
This environment uses [Cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) and [pnpm](https://pnpm.io/installation). Ensure you have them installed before continuing.
-- `$ cargo install prisma-client-rust-cli`
- `$ git clone https://github.com/spacedriveapp/spacedrive`
- `$ cd spacedrive`
- `$ pnpm i`
@@ -93,12 +104,9 @@ This environment uses [Cargo](https://doc.rust-lang.org/cargo/getting-started/in
To quickly run only the desktop app after `prep` you can use:
- `$ pnpm desktop dev`
-If you are making changes to any TS packages you must run their respective dev environments too, for example:
-- `$ pnpm core dev`
-- `$ pnpm ui dev`
-
-Or to run everything specific to desktop app development just run:
-- `$ pnpm dev`
+To run the landing page
+- `$ pnpm web dev` - runs the web app for the embed
+- `$ pnpm landing dev`
If you are having issues ensure you are using the following versions of Rust and Node:
- Rust version: **1.58.1**
@@ -106,25 +114,27 @@ If you are having issues ensure you are using the following versions of Rust and
# Architecture
This project is using what I'm calling the **"PRRTT"** stack (Prisma, Rust, React, TypeScript, Tauri).
-- Prisma on the front-end? 🤯 Made possible thanks to [prisma-client-rust](), developed by [Brendonovich](). Gives us access to the powerful migration CLI in development, along with the Prisma syntax for our schema. The application bundles with the Prisma query engine and codegen for a beautiful Rust API. Our lightweight migration runner is custom built for a desktop app context.
+- Prisma on the front-end? 🤯 Made possible thanks to [prisma-client-rust](https://github.com/brendonovich/prisma-client-rust), developed by [Brendonovich](https://github.com/brendonovich). Gives us access to the powerful migration CLI in development, along with the Prisma syntax for our schema. The application bundles with the Prisma query engine and codegen for a beautiful Rust API. Our lightweight migration runner is custom built for a desktop app context.
- Tauri allows us to create a pure Rust native OS webview, without the overhead of your average Electron app. This brings the bundle size and average memory usage down dramatically. It also contributes to a more native feel, especially on macOS due to Safari's close integration with the OS.
- The core (`sdcore`) is written in pure Rust.
## Monorepo structure:
### Apps:
-- `desktop`: A [Tauri](https://nextjs.org) app.
-- `mobile`: A [React Native](https://nextjs.org) app.
-- `web`: A [Next.js](https://nextjs.org) app.
+- `desktop`: A [Tauri](https://tauri.studio) app.
+- `mobile`: A [React Native](https://reactnative.dev/) app.
+- `web`: A [React](https://reactjs.org) webapp.
+- `landing`: A [React](https://reactjs.org) app using Vite SSR & Vite pages.
### Core:
-- `core`: The [Rust]() core, referred to internally as `sdcore`. Contains filesystem, database and networking logic. Can be deployed in a variety of host applications.
+- `core`: The [Rust](#) core, referred to internally as `sdcore`. Contains filesystem, database and networking logic. Can be deployed in a variety of host applications.
### Packages:
-- `client`: The [TypeScript]() Typescript client handling dataflow between UI and the Rust core.
-- `ui`: A [React Native]() / [RNW]() Component library.
+- `client`: A [TypeScript](#) client library to handle dataflow via RPC between UI and the Rust core.
+- `ui`: A [React]([#](https://reactjs.org)) Shared component library.
+- `interface`: The complete user interface in React (used by apps `desktop`, `web` and `landing`)
- `config`: `eslint` configurations (includes `eslint-config-next`, `eslint-config-prettier` and all `tsconfig.json` configs used throughout the monorepo.
-- `macos`: A [Swift]() Native binary for MacOS system extensions.
-- `ios`: A [Swift]() Native binary (planned).
-- `windows`: A [C#]() Native binary (planned).
-- `android`: A [Kotlin]() Native binary (planned).
\ No newline at end of file
+- `macos`: A [Swift](#) Native binary for MacOS system extensions.
+- `ios`: A [Swift](#) Native binary (planned).
+- `windows`: A [C#](#) Native binary (planned).
+- `android`: A [Kotlin](#) Native binary (planned).
\ No newline at end of file
diff --git a/apps/landing/src/App.tsx b/apps/landing/src/App.tsx
index 0104f9eb1..7e90200b9 100644
--- a/apps/landing/src/App.tsx
+++ b/apps/landing/src/App.tsx
@@ -7,6 +7,38 @@ import { ReactComponent as AppleLogo } from './assets/apple.svg';
import { ReactComponent as AppLogo } from './assets/app-logo.svg';
import NavBar from './components/NavBar';
+interface SectionProps {
+ orientation: 'left' | 'right';
+ heading?: string;
+ description?: string;
+ children?: React.ReactNode;
+}
+
+function Section(props: SectionProps = { orientation: 'left' }) {
+ let info = (
+ {props.description}
} +- Spacedrive is the first file explorer that puts the full power of the cloud in your hands. +
+ Spacedrive allows you to manage files across all devices, drives and clouds at once.
+
+ Designed for creators, hoarders and the painfully disorganized.