Rust implementation of NextGraph, a Decentralized and local-first web 3.0 ecosystem
https://nextgraph.org
byzantine-fault-tolerancecrdtsdappsdecentralizede2eeeventual-consistencyjson-ldlocal-firstmarkdownocapoffline-firstp2pp2p-networkprivacy-protectionrdfrich-text-editorself-hostedsemantic-websparqlweb3collaboration
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
2 years ago | |
|---|---|---|
| .. | ||
| .vscode | 2 years ago | |
| src | 2 years ago | |
| src-tauri | 2 years ago | |
| .gitignore | 2 years ago | |
| README.md | 2 years ago | |
| index.html | 2 years ago | |
| package.json | 2 years ago | |
| pnpm-lock.yaml | 2 years ago | |
| postcss.config.cjs | 2 years ago | |
| prepare-app-file.cjs | 2 years ago | |
| svelte.config.js | 2 years ago | |
| tailwind.config.cjs | 2 years ago | |
| tsconfig.json | 2 years ago | |
| tsconfig.node.json | 2 years ago | |
| vite.config.ts | 2 years ago | |
README.md
NextGraph apps (Linux, MacOS, Windows, Android, iOS, web)
NextGraph native apps use the Tauri framework.
All the apps are using an embedded WebView that renders a Svelte app.
Install
prerequisites: compile the local SDK
cd ../ng-sdk-js
wasm-pack build --target bundler
cd ../ng-app
cargo install tauri-cli --version "^2.0.0-alpha"
npm install -g pnpm
pnpm install
Recommended IDE Setup
VS Code + Svelte + Tauri + rust-analyzer.
Web
Dev
pnpm webdev
// then open http://localhost:1421/
Prod
pnpm webbuild
// then the application is available in dist-web folder
// can be served with:
cd dist-web ; python3 -m http.server
in order to build a self-contained html file, useful for offline use, do:
// uncomment line 14 of src/App.svelte: import * as api from "ng-sdk-js";
pnpm filebuild
// single file is available in dist-file/index.html
// the assets folder can be discarded
Desktop
Install all prerequisites for your dev platform.
to run the dev env :
## on macos
cargo tauri dev
## on linux
cargo tauri dev --target x86_64-unknown-linux-gnu
## on win
cargo tauri dev --target x86_64-pc-windows-msvc
to build the production app installer :
MacOs
cargo tauri build
// the installer is then available in target/x86_64-apple-darwin/release/bundle/dmg/NextGraph_0.1.0_x64.dmg
// or if you just want the app, it is at target/x86_64-apple-darwin/release/bundle/macos/NextGraph.app
Linux (Ubuntu 22.04)
cargo tauri build --target x86_64-unknown-linux-gnu
Windows (7)
cargo tauri build --target x86_64-pc-windows-msvc
Android
-
add the rust targets for android
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
- follow the steps for Android in the Prerquisites guide of Tauri
to launch the dev app :
cargo tauri android dev
to build the production app :
cargo tauri android build
to debug the Svelte app, use Chrome :
- chrome://inspect/#devices
- install the svelte extension
iOS
First, make sure Xcode is properly installed. then :
rustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim
to launch the dev app :
cargo tauri ios dev
to build the production app :
cargo tauri ios build