@powerhousedao/academy 3.2.0-dev.2 → 3.2.0-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/docs/academy/01-GetStarted/00-ExploreDemoPackage.mdx +188 -0
- package/docs/academy/01-GetStarted/01-CreateNewPowerhouseProject.md +10 -12
- package/docs/academy/01-GetStarted/02-DefineToDoListDocumentModel.md +8 -8
- package/docs/academy/01-GetStarted/03-ImplementOperationReducers.md +11 -11
- package/docs/academy/01-GetStarted/04-BuildToDoListEditor.md +13 -13
- package/docs/academy/01-GetStarted/_04-BuildToDoListEditor +12 -12
- package/docs/academy/01-GetStarted/home.mdx +50 -51
- package/docs/academy/01-GetStarted/images/Connect.png +0 -0
- package/docs/academy/01-GetStarted/images/Packagemanager.png +0 -0
- package/docs/academy/01-GetStarted/images/TodoDriveApp.png +0 -0
- package/docs/academy/01-GetStarted/styles.module.css +7 -14
- package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/02-StandardDocumentModelWorkflow.md +22 -22
- package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/03-BuilderTools.md +17 -17
- package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/_category_.json +1 -1
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/01-WhatIsADocumentModel.md +15 -15
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/02-SpecifyTheStateSchema.md +11 -9
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/03-SpecifyDocumentOperations.md +15 -15
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/04-UseTheDocumentModelGenerator.md +9 -9
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/05-ImplementDocumentReducers.md +15 -15
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/06-ImplementDocumentModelTests.md +14 -14
- package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/07-ExampleToDoListRepository.md +4 -4
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/01-BuildingDocumentEditors.md +28 -30
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/02-ConfiguringDrives.md +7 -7
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/03-BuildingADriveExplorer.md +9 -10
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/07-DocumentTools/01-OperationHistory.md +11 -11
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/07-DocumentTools/02-RevisionHistoryTimeline.md +6 -6
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/08-Authorization/01-RenownAuthenticationFlow.md +8 -8
- package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/08-Authorization/02-Authorization.md +8 -8
- package/docs/academy/02-MasteryTrack/04-WorkWithData/01-ReadingAndWritingThroughTheAPI.mdx +5 -5
- package/docs/academy/02-MasteryTrack/04-WorkWithData/02-GraphQLAtPowerhouse.md +3 -3
- package/docs/academy/02-MasteryTrack/04-WorkWithData/03-WorkingWithSubgraphs/02-GraphQLAndSubgraphs.mdx +8 -8
- package/docs/academy/02-MasteryTrack/04-WorkWithData/03-WorkingWithSubgraphs/03-WorkingWithSubgraphs.md +28 -28
- package/docs/academy/02-MasteryTrack/04-WorkWithData/04-analytics-processor.md +4 -4
- package/docs/academy/02-MasteryTrack/04-WorkWithData/05-AnalyticsProcessorTutorial/01-SetupBuilderEnvironment.md +14 -14
- package/docs/academy/02-MasteryTrack/04-WorkWithData/05-AnalyticsProcessorTutorial/02-CreateNewPowerhouseProject.md +2 -2
- package/docs/academy/02-MasteryTrack/04-WorkWithData/05-AnalyticsProcessorTutorial/03-GenerateAnAnalyticsProcessor.md +6 -6
- package/docs/academy/02-MasteryTrack/04-WorkWithData/05-AnalyticsProcessorTutorial/04-UpdateAnalyticsProcessor.md +1 -1
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/GraphQL References/QueryingADocumentWithGraphQL.md +2 -2
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/best-practices.md +4 -4
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/graphql/index.md +7 -7
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/graphql/integration.md +1 -1
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/intro.md +6 -6
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/browser.md +1 -1
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/index.md +5 -5
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/memory.md +1 -1
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/pg.md +2 -2
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/schema.md +1 -1
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/typescript/utilities.md +1 -1
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/use-cases/index.md +1 -1
- package/docs/academy/02-MasteryTrack/04-WorkWithData/06-Analytics Engine/use-cases/maker.md +12 -12
- package/docs/academy/02-MasteryTrack/05-Launch/01-IntroductionToPackages.md +9 -9
- package/docs/academy/02-MasteryTrack/05-Launch/02-PublishYourProject.md +8 -8
- package/docs/academy/02-MasteryTrack/05-Launch/03-SetupEnvironment.md +35 -35
- package/docs/academy/02-MasteryTrack/05-Launch/04-ConfigureEnvironment.md +8 -8
- package/docs/academy/02-MasteryTrack/_category_.json +1 -1
- package/docs/academy/03-ExampleUsecases/Chatroom/03-DefineChatroomDocumentModel.md +5 -5
- package/docs/academy/07-Cookbook.md +105 -105
- package/package.json +1 -1
- package/sidebars.ts +9 -10
- package/src/css/custom.css +18 -0
- package/docs/academy/01-GetStarted/00-ExploreDemoPackage.md +0 -88
package/package.json
CHANGED
package/sidebars.ts
CHANGED
|
@@ -15,7 +15,7 @@ const sidebars = {
|
|
|
15
15
|
academySidebar: [
|
|
16
16
|
{
|
|
17
17
|
type: 'category',
|
|
18
|
-
label: 'Get
|
|
18
|
+
label: 'Get started',
|
|
19
19
|
link: {
|
|
20
20
|
type: 'doc',
|
|
21
21
|
id: 'academy/GetStarted/home',
|
|
@@ -30,11 +30,11 @@ const sidebars = {
|
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
type: 'category',
|
|
33
|
-
label: 'Mastery
|
|
33
|
+
label: 'Mastery track',
|
|
34
34
|
items: [
|
|
35
35
|
{
|
|
36
36
|
type: 'category',
|
|
37
|
-
label: 'Builder
|
|
37
|
+
label: 'Builder environment',
|
|
38
38
|
link: {
|
|
39
39
|
type: 'doc',
|
|
40
40
|
id: 'academy/MasteryTrack/BuilderEnvironment/Prerequisites'
|
|
@@ -47,10 +47,9 @@ const sidebars = {
|
|
|
47
47
|
},
|
|
48
48
|
{
|
|
49
49
|
type: 'category',
|
|
50
|
-
label: 'Document
|
|
50
|
+
label: 'Document model creation',
|
|
51
51
|
link: {
|
|
52
|
-
type: '
|
|
53
|
-
id: "academy/MasteryTrack/DocumentModelCreation/WhatIsADocumentModel"
|
|
52
|
+
type: 'generated-index',
|
|
54
53
|
},
|
|
55
54
|
items: [
|
|
56
55
|
'academy/MasteryTrack/DocumentModelCreation/WhatIsADocumentModel',
|
|
@@ -64,7 +63,7 @@ const sidebars = {
|
|
|
64
63
|
},
|
|
65
64
|
{
|
|
66
65
|
type: 'category',
|
|
67
|
-
label: 'Building
|
|
66
|
+
label: 'Building user experiences',
|
|
68
67
|
link: {
|
|
69
68
|
type: 'generated-index',
|
|
70
69
|
},
|
|
@@ -72,7 +71,7 @@ const sidebars = {
|
|
|
72
71
|
},
|
|
73
72
|
{
|
|
74
73
|
type: 'category',
|
|
75
|
-
label: 'Work
|
|
74
|
+
label: 'Work with data',
|
|
76
75
|
link: {
|
|
77
76
|
type: 'generated-index',
|
|
78
77
|
},
|
|
@@ -90,7 +89,7 @@ const sidebars = {
|
|
|
90
89
|
},
|
|
91
90
|
{
|
|
92
91
|
type: 'category',
|
|
93
|
-
label: 'Example
|
|
92
|
+
label: 'Example usecases',
|
|
94
93
|
items: [{ type: 'autogenerated', dirName: 'academy/03-ExampleUsecases' }],
|
|
95
94
|
},
|
|
96
95
|
{
|
|
@@ -102,7 +101,7 @@ const sidebars = {
|
|
|
102
101
|
// Manually define the Component Library category
|
|
103
102
|
{
|
|
104
103
|
type: 'category',
|
|
105
|
-
label: 'Component
|
|
104
|
+
label: 'Component library',
|
|
106
105
|
items: [
|
|
107
106
|
{
|
|
108
107
|
type: 'doc',
|
package/src/css/custom.css
CHANGED
|
@@ -486,3 +486,21 @@ html[data-theme='dark'] .DocSearch-Hits > *:empty {
|
|
|
486
486
|
font-weight: bold;
|
|
487
487
|
text-decoration: none;
|
|
488
488
|
}
|
|
489
|
+
|
|
490
|
+
.image-container {
|
|
491
|
+
border: 1px solid var(--ifm-color-emphasis-300);
|
|
492
|
+
border-radius: var(--ifm-card-border-radius);
|
|
493
|
+
padding: 1rem;
|
|
494
|
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
|
495
|
+
margin-bottom: 1.5rem;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
.image-container img {
|
|
499
|
+
border-radius: var(--ifm-card-border-radius);
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
.image-container figcaption {
|
|
503
|
+
text-align: center;
|
|
504
|
+
margin-top: 0.5rem;
|
|
505
|
+
font-style: italic;
|
|
506
|
+
}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
# Explore the Demo Package
|
|
2
|
-
|
|
3
|
-
:::info How Long Will This Tutorial Take?
|
|
4
|
-
We've designed this "Get Started" track to be as smooth as possible. The time it takes will vary based on your familiarity with modern web development tools.
|
|
5
|
-
|
|
6
|
-
- **For Experienced Developers** (familiar with TypeScript, React, and CLIs), you can expect to complete the entire four-part tutorial in approximately **1 to 1.5 hours**.
|
|
7
|
-
- **For Developers New to This Stack**, we recommend setting aside **3.5 to 4.5 hours**. This allows for time to understand not just the steps, but the core concepts behind them.
|
|
8
|
-
|
|
9
|
-
This is just a guideline. The goal is to learn comfortably and build a solid foundation with Powerhouse!
|
|
10
|
-
|
|
11
|
-
A more in theoretic and advanced version of this tutorial can also be found in [Mastery Track - Document Model Creation](../MasteryTrack/DocumentModelCreation/WhatIsADocumentModel).
|
|
12
|
-
:::
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
To give you a quick idea of how the Powerhouse ecosystem operates on document models and packages, why don\'t you try installing a package?
|
|
16
|
-
|
|
17
|
-
Install the Powerhouse command-line tool `ph-cmd` and then use it to install a pre-built demo package with document models & editors.
|
|
18
|
-
|
|
19
|
-
## Step 1: Install the Powerhouse CLI
|
|
20
|
-
|
|
21
|
-
You will use the Powerhouse CLI to launch a local environment with a "**ToDoList Demo Package**".
|
|
22
|
-
This is also the package that you'll recreate during the tutorials and get's you familiar with Powerhouse.
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
pnpm install -g ph-cmd
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Verify the installation:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
ph-cmd --version
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Step 2: Install the Contributor Billing Package
|
|
35
|
-
|
|
36
|
-
Now, use the `ph` command to install the demo package into a global project.
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
# Install the package
|
|
40
|
-
ph install @powerhousedao/todo-demo-package.
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
This command downloads and sets up the todo-demo-package, making its features available in your Powerhouse environment.
|
|
44
|
-
|
|
45
|
-
You have now successfully installed `ph-cmd` and added your first package!
|
|
46
|
-
|
|
47
|
-
## Step 3: Run the Connect App in Studio mode
|
|
48
|
-
To run the package locally in Connect Studio (our collaboration and contributor app), run the `ph connect` command.
|
|
49
|
-
|
|
50
|
-
## Step 4: Log in with Renown
|
|
51
|
-
|
|
52
|
-
Renown is Powerhouse's decentralized identity and reputation system designed to address the challenge of trust within open organization's, where contributors often operate under pseudonyms. In traditional organizations, personal identity and reputation are key to establishing trust and accountability. Renown replicates this dynamic in the digital space, allowing contributors to earn experience and build reputation without revealing their real-world identities.
|
|
53
|
-
|
|
54
|
-
:::tip
|
|
55
|
-
When signing in with Renown, use an Ethereum or blockchain address that can function as your \'identity\', as this address will accrue more experience and history over time.
|
|
56
|
-
:::
|
|
57
|
-
|
|
58
|
-
### Login Flow
|
|
59
|
-
"**Log in with Renown**" is a decentralized authentication flow that enables you to log into applications by signing a credential with your Ethereum wallet. Upon signing in, a Decentralized Identifier (DID) is created based on your Ethereum key.
|
|
60
|
-
|
|
61
|
-

|
|
62
|
-
|
|
63
|
-
### Generate a DID to sign operations in Connect
|
|
64
|
-
This DID is then associated with a credential that authorizes a specific Connect instance to act on your behalf. That credential is stored securely on Ceramic, a decentralized data network. When you perform actions through the Powerhouse Connect interface, those operations are signed with the DID and transmitted to Switchboard, which serves as the verifier.
|
|
65
|
-
|
|
66
|
-

|
|
67
|
-
|
|
68
|
-

|
|
69
|
-
|
|
70
|
-
### Modify a document
|
|
71
|
-
Switchboard checks the validity of the DID and credential, ensuring the operation request is legitimate. This flow is designed to offer a verifiable, cryptographically secure login system that replaces traditional password-based authentication with decentralized identity and signature-based trust.
|
|
72
|
-
|
|
73
|
-
## Step 5: Create an invoice & Explore the Document Operations History
|
|
74
|
-
|
|
75
|
-

|
|
76
|
-
|
|
77
|
-
By leveraging this system, every operation or modification made to a document is cryptographically signed by the contributor\'s Renown identity. This ensures that each change is verifiable, traceable, and attributable to a specific pseudonymous user, providing a robust audit trail for all document activity.
|
|
78
|
-
|
|
79
|
-
A key feature you get with Connect is the **Operations History**. Every change to a document is stored as an individual operation, creating an immutable and replayable history. This provides complete auditability and transparency, as you can inspect each revision, its details, and any associated signatures. For example, you can see a chronological list of all modifications, along with who made them and when. This ensures every action is traceable and verifiable.
|
|
80
|
-
Learn more about the [Operations History and other document tools you get for free](../MasteryTrack/BuildingUserExperiences/DocumentTools/OperationHistory).
|
|
81
|
-
|
|
82
|
-
## Step 6: Export a Document
|
|
83
|
-
|
|
84
|
-
Export the invoice document as a `.phd` (Powerhouse Document) file using the export button in the document toolbar at the top. In this toolbar, you will find all available functionality for your documents. The `.phd` file can be sent through any of your preferred channels to other users on your Powergrid network.
|
|
85
|
-
|
|
86
|
-
Now that you have explored a Powerhouse package and discovered its basic functionalities, it is time to start building your own.
|
|
87
|
-
Our next tutorial focuses on creating a simple To-Do list document and will introduce you to the world of Document Models.
|
|
88
|
-
|