Skip to content

CirclesUBI/o-platform

Repository files navigation

Circles platform (o platform)

Quickstart

Checkout

git clone https://github.com/CirclesUBI/o-platform.git

# Build
cd o-platform
./build.sh

# Run
cd shell
npm run dev

Build & Run with local self-signed certificate:

cd o-platfrom
./buildlocal.sh

cd shell
npm run dev

Building blocks

Shell

The shell is a svelte application which responsibility it is to load Dapps (by route) and run processes that require user interaction. Loaded dapps can use the shell to communicate with each other using events.

Loader

The loader can be found in /shell/src/libs/shell-os/loader.ts:. It 'import's all dapp manifests at the beginning of the file and then calls 'constructRoutes()'. It exports the constructed routes via it's 'routes'-const. These routes are then hooked up to the svelte-spa-router.

On every invocation of a route, the loader's 'getDappEntryPoint()' function is called with the invoked dapp- and pageManifest. It returns a configured svelte component that can be displayed by the component in App.svelte.

Dapps

A Dapp is a small application that consists of pages, other svelte components and processes.
Every Dapp has a DappManifest file which lists all PageManifests.

Pages

Each Dapp has one or more page(s).

Processes

There will be processes. Probably.