Skip to content

Commit

Permalink
feat: Add deployment instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
puria committed Apr 4, 2024
1 parent b035f64 commit 07e656f
Show file tree
Hide file tree
Showing 7 changed files with 160 additions and 63 deletions.
20 changes: 14 additions & 6 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,20 @@ export default defineConfig({
// https://vitepress.dev/reference/default-theme-config
nav: [
{ text: "Home", link: "/" },
{ text: "Reference", link: "/getting-started" },
{ text: "Reference", link: "/intro" },
{ text: "Quick start", link: "/quickstart" },
],

sidebar: [
{
text: "🚀 Getting started",
link: "/getting-started",
text: "📖 Introduction ",
link: "/intro",
items: [
{ text: "How it works?", link: "/intro#how-it-works", },
{ text: "Features", link: "/intro#features", },
{ text: "Integration and flexibility", link: "/intro#integration-and-flexibility", },
{ text: "How it works?", link: "/intro#how-it-works", },
]
},
{
text: "🏗️ Core Technologies",
Expand Down Expand Up @@ -47,13 +54,14 @@ export default defineConfig({
],
},
{
text: "Deployment options",
text: "🎮 Quickstart",
link: "/quickstart",
items: [
{
text: "Software as a Service (SaaS)",
link: "#software-as-a-service-saas",
link: "/quickstart#software-as-a-service-saas",
},
{ text: "On-Premise deployment", link: "#on-premise-deployment" },
{ text: "On-Premise deployment", link: "/quickstart#on-premise-deployment" },
],
},
{
Expand Down
46 changes: 35 additions & 11 deletions docs/core-technologies.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,47 @@
# 🏗️ Core Technologies

## 🔐 Zenroom
Zenroom is responsible for all underlying cryptographic operations within the DiDRoom ecosystem. It provides a secure execution environment for cryptographic operations and smart contracts, ensuring privacy, security, and integrity in digital interactions. Notably, Zenroom runs isomorphically on the web, mobile, and servers across various platforms in a deterministic way.
- [Documentation](https://dev.zenroom.org/)
- [GitHub](https://github.com/dyne/zenroom)
- [Site](https://zenroom.org/)
Zenroom is responsible for all underlying cryptographic operations within the Didroom ecosystem. It provides a secure execution environment for cryptographic operations and smart contracts, ensuring privacy, security, and integrity in digital interactions. Notably, Zenroom runs isomorphically on the web, mobile, and servers across various platforms in a deterministic way.

::: tip RESOURCES

[Documentation](https://dev.zenroom.org/)

[GitHub](https://github.com/dyne/zenroom)

[Site](https://zenroom.org/)

:::

## 📜 Slangroom
Slangroom enhances the Zencode language of Zenroom by allowing the addition of plugins. These plugins extend the functionality of Zencode by enabling actions that do not necessarily need to be performed within virtual machines. Slangroom's approach is super standard, making it easy to add custom functionalities within the Zencode natural language. Additionally, Slangroom is capable of running over web pages using WebAssembly.
- [Documentation](https://dyne.org/slangroom)
- [GitHub](https://github.com/syne/slangroom)

::: tip RESOURCES

[Documentation](https://dyne.org/slangroom)

[GitHub](https://github.com/syne/slangroom)

:::

## 🛠️ No-code-room (NCR)
No-code-room is a Single Executable Application (SEA) for Linux. It takes a filesystem with .zen (Zencode/Slangroom) contracts and creates API microservices using live-directory routing. NCR seamlessly generates REST services that are auto-documented with OpenAPI. Additionally, it creates small graphic interfaces on the fly, referred to as applets.
- [GitHub](https://github.com/forkbombeu/ncr)
::: tip RESOURCES

[GitHub](https://github.com/forkbombeu/ncr)

:::

## 🔗 Dyne.org Decentralized Identifiers (DID) Service
In 2022, Dyne.org implemented a W3C-DID method approved by the W3C governing board and included in the official DID method list. The DID service supports federation and provides tools for the creation, resolution, and management of decentralized identifiers (DIDs). It includes support for ECDSA, EDDSA, Schnorr, Ethereum address, as well as a Dilithium quantum-proof public key.
- [GitHub](https://github.com/dyne/w3c-did)
- [Online DIDs Explorer](https://explorer.did.dyne.org/)
- [Specification](https://dyne.org/W3C-DID/)
- [Site](https://forkbomb.solutions/component/w3c-did-federate-service/)
::: tip RESOURCES

[GitHub](https://github.com/dyne/w3c-did)

[Online DIDs Explorer](https://explorer.did.dyne.org/)

[Specification](https://dyne.org/W3C-DID/)

[Site](https://forkbomb.solutions/component/w3c-did-federate-service/)

:::
26 changes: 0 additions & 26 deletions docs/dashboard.md

This file was deleted.

6 changes: 3 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ hero:
image:
src: https://forkbomb.solutions/wp-content/uploads/2023/05/DIDroom_logo.svg
actions:
- theme: alt
text: 🚀 Quickstart
link: /getting-started
- theme: brand
text: 🎮 Quickstart
link: /quickstart
- theme: brand
text: JOIN NOW ↗
link: https://beta.signroom.io/register/
Expand Down
6 changes: 3 additions & 3 deletions docs/getting-started.md → docs/intro.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Getting Started
# 📖 Introduction

Welcome to Didroom – your gateway to decentralized identity management and secure communication. Didroom empowers individuals and organizations to take control of their digital identities while ensuring privacy and security.
Whether you're looking to streamline identity verification processes, enhance data security, or enable secure communication channels, Didroom provides the tools and infrastructure you need.
Expand Down Expand Up @@ -30,11 +30,11 @@ Didroom offers a seamless and intuitive experience for managing decentralized id
- **Decentralized identity management:** Didroom enables users to create, control, and manage their digital identities in a decentralized manner, eliminating reliance on central authorities.
- **Customizable and extensible:** Didroom is highly customizable and extensible, allowing organizations to tailor the platform to their specific needs and integrate with existing systems seamlessly.

## Integration and Flexibility
## Integration and flexibility

Didroom is designed to be seamlessly integrated into third-party solutions and environments. Its modular architecture allows for easy integration with existing microservices or other identity management systems. Whether you need to use Didroom as a standalone solution or integrate it into your existing infrastructure, Didroom provides the flexibility and adaptability you need.

## Architectural Overview
## Architectural overview

The Didroom ecosystem consists of a modular architecture comprising core technologies and components:
- **Core Technologies:** Zenroom, Slangroom, No-code-room, and Dyne.org Decentralized Identifiers (DID) Service provide the foundational elements for identity management and cryptographic operations.
Expand Down
70 changes: 70 additions & 0 deletions docs/quickstart.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# 🎮 Quickstart

Get started quickly with Didroom by choosing one of the following deployment options:

## Software as a Service (SaaS)

If you prefer a hassle-free experience and want to start using Didroom without setting up infrastructure, our Software as a Service (SaaS) option is the way to go. Follow these steps to get started:

1. Sign up for a Didroom account on our website.

<video controls="controls" src="https://raw.githubusercontent.com/ForkbombEu/signroom/36065ffc2f8ae76598e653eaf85296ef1f41ba2a/screenshots/videos/registration.webm" />

2. Access the Didroom Control Room/Dashboard to setup you credential services

For more detailed instructions, visit [Software as a Service (SaaS) Quickstart Guide](/quickstart#software-as-a-service-saas).

## On-Premise Deployment

For users who prefer full control over their infrastructure and data, Didroom supports on-premise deployment. Follow these steps to deploy Didroom on your own infrastructure:

### 1. clone the repo

```bash
git clone --recursive https://github.com/forkbombeu/signroom
```

::: warning

Pay attention at the `--recursive` that will clone also the sub repositories!

:::

### 2. run the dashboard

```bash
cd signroom
docker compose up --build
```

this will run the backend of the dirdroom control room available on the network at

```http
http://localhost:8090/_
```

::: tip
Pay attention at the final underscore, of the address
:::

### 3. login to the admin panel

A default administrator user is created with the following defaults:

**user**: `[email protected]`

**pass**: `adminadmin`

### 4. Setup the DID service

The only reaquired step to be configure is the DID federated service.
You can ask for your admin domain/context as specified on [`dyne/W3C-DID`](https://github.com/dyne/W3C-DID?tab=readme-ov-file#claim-your-own-domain-context-as-an-admin)

Follow the video:

1. login into the dashboard
2. go on the `features` collection
3. select the `DID` feature
4. insert you admin data

<video controls src="https://raw.githubusercontent.com/ForkbombEu/signroom/main/screenshots/videos/setup-did.webm" />
49 changes: 35 additions & 14 deletions docs/solution.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,54 @@
Our solution is divided into different repositories, each focusing on a specific component. This modular approach allows us to maintain flexibility and scalability, enabling users to customize and integrate the solution according to their specific needs and requirements.

## Mobile Zencode
Zencode Mobile holds all the business logic and contracts shared between the different components of the DiDRoom Solution. It serves as a centralized repository for managing and updating the core business logic used across various mobile applications and components.
- [GitHub](https://github.com/forkbombeu/mobile_zencode)
Zencode Mobile holds all the business logic and contracts shared between the different components of the Didroom Solution. It serves as a centralized repository for managing and updating the core business logic used across various mobile applications and components.
::: tip RESOURCES
[GitHub](https://github.com/forkbombeu/mobile_zencode)
:::

## DiDRoom control room / Dashboard
## Didroom control room / Dashboard
The Didroom Control Room/Dashboard serves as the central hub for managing decentralized identity solutions. It provides a user-friendly interface for configuring settings, monitoring performance, and accessing key functionalities.
- [GitHub](https://github.com/forkbombeu/signroom)
- [Public beta](https://beta.signroom.io)

::: tip RESOURCES
[GitHub](https://github.com/forkbombeu/signroom)

[Public beta](https://beta.signroom.io)
:::

## Didroom microservices
Didroom microservices are generated using No-code-room (NCR) and utilize the Zencode Mobile repository to create three different microservices:
- **Credential Issuers**: These microservices are compliant with Openid4VCI standards and handle the issuance of credentials.
- **Authorization Server**: These microservices implement OAuth2 and work seamlessly with our DID Service for authentication and authorization.
- **Authorization Servers**: These microservices implement OAuth2 and work seamlessly with our DID Service for authentication and authorization.
- **Relying Party**: These microservices are compliant with Openid4VP standards and act as relying parties for authentication and authorization.
- [GitHub](https://github.com/forkbombeu/didroom_microservices)

::: tip RESOURCES
[GitHub](https://github.com/forkbombeu/didroom_microservices)
:::


## Wallet Holder App
The Wallet Holder App offers a secure and user-friendly interface for managing decentralized identities and digital credentials. It allows users to store, view, and share their identity information with ease inside a TEE (Trusted execution environment) directly on citizens devices.
- [GitHub](https://github.com/forkbombeu/wallet)
- [Latest relase](https://github.com/ForkbombEu/wallet/releases/latest/download/wallet.apk)

::: tip RESOURCES
[GitHub](https://github.com/forkbombeu/wallet)

[Latest relase](https://github.com/ForkbombEu/wallet/releases/latest/download/wallet.apk)
:::

## Verifier App
The Verifier App provides tools for verifying the authenticity and validity of decentralized identities and digital credentials. It enables organizations to validate identity claims and ensure compliance with regulatory requirements.
- [GitHub](https://github.com/forkbombeu/verifier)
- [Latest relase](https://github.com/ForkbombEu/verifier/releases/latest/download/wallet.apk)

::: tip RESOURCES
[GitHub](https://github.com/forkbombeu/verifier)

[Latest relase](https://github.com/ForkbombEu/verifier/releases/latest/download/wallet.apk)
:::

## Didroom web components
DiDRoom Web Components hold all the UI web components used across all the projects to ensure a coherent Atomic design and allow for white-labeling.
- [Storybook](https://forkbombeu.github.io/didroom-components)
- [GitHub](https://github.com/forkbombeu/didroom-components)
Didroom Web Components hold all the UI web components used across all the projects to ensure a coherent Atomic design and allow for white-labeling.

::: tip RESOURCES
[Storybook](https://forkbombeu.github.io/didroom-components)

[GitHub](https://github.com/forkbombeu/didroom-components)
:::

0 comments on commit 07e656f

Please sign in to comment.