@powerhousedao/academy 2.5.0-dev.2 → 2.5.0-dev.21

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +124 -0
  2. package/docs/academy/01-GetStarted/00-ExploreDemoPackage.md +18 -10
  3. package/docs/academy/01-GetStarted/01-CreateNewPowerhouseProject.md +36 -39
  4. package/docs/academy/01-GetStarted/02-DefineToDoListDocumentModel.md +21 -6
  5. package/docs/academy/01-GetStarted/03-ImplementOperationReducers.md +5 -0
  6. package/docs/academy/01-GetStarted/04-BuildToDoListEditor.md +148 -420
  7. package/docs/academy/01-GetStarted/_04-BuildToDoListEditor +495 -0
  8. package/docs/academy/01-GetStarted/home.mdx +15 -15
  9. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/01-WhatIsADocumentModel.md +11 -2
  10. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/02-SpecifyTheStateSchema.md +5 -0
  11. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/01-BuildingDocumentEditors.md +5 -37
  12. package/docs/academy/02-MasteryTrack/05-Launch/02-PublishYourProject.md +70 -5
  13. package/docs/academy/02-MasteryTrack/05-Launch/03-SetupEnvironment.md +159 -73
  14. package/docs/academy/02-MasteryTrack/05-Launch/{03-RunOnACloudServer.md → _03-RunOnACloudServer} +8 -5
  15. package/docs/academy/04-APIReferences/00-PowerhouseCLI.md +7 -40
  16. package/docs/academy/06-ComponentLibrary/00-DocumentEngineering.md +67 -21
  17. package/docs/academy/06-ComponentLibrary/02-CreateCustomScalars.md +403 -0
  18. package/docs/academy/06-ComponentLibrary/{02-BuildingWithScalars.md → 02-ScalarComponent.mdx} +10 -12
  19. package/docs/academy/06-ComponentLibrary/{04-Complex-Components/01-sidebar.mdx → 03-ComplexComponent.mdx} +3 -1
  20. package/docs/academy/06-ComponentLibrary/03-IntegrateIntoAReactComponent.md +1 -0
  21. package/docs/academy/06-ComponentLibrary/04-LayoutComponent.mdx +5 -0
  22. package/docs/academy/06-ComponentLibrary/05-FragmentsComponent.mdx +5 -0
  23. package/docs/academy/07-Cookbook.md +0 -4
  24. package/docs/academy/08-Glossary.md +4 -1
  25. package/docs/academy/09-AIResources +23 -0
  26. package/package.json +1 -1
  27. package/sidebars.ts +6 -45
  28. package/docs/academy/06-ComponentLibrary/03-Scalar-Components/01-phid-field.mdx +0 -72
  29. package/docs/academy/06-ComponentLibrary/03-Scalar-Components/02-input-field.mdx +0 -0
  30. package/docs/academy/06-ComponentLibrary/05-Layout-Components/01-test-toupdate.mdx +0 -61
  31. package/docs/academy/06-ComponentLibrary/06-Fragments/01-test-toupdate.mdx +0 -61
  32. /package/docs/academy/02-MasteryTrack/05-Launch/{02-IntroductionToPackages.md → 01-IntroductionToPackages.md} +0 -0
  33. /package/docs/academy/02-MasteryTrack/05-Launch/{00-IntegrateInAFront-End → _00-IntegrateInAFront-End} +0 -0
  34. /package/docs/academy/02-MasteryTrack/05-Launch/{01-IntroducingFusion → _01-IntroducingFusion} +0 -0
  35. /package/docs/academy/02-MasteryTrack/05-Launch/{04-GraphQLNamespacing → _04-GraphQLNamespacing} +0 -0
  36. /package/docs/academy/02-MasteryTrack/05-Launch/{05-LaunchYourBackend.md → _05-LaunchYourBackend} +0 -0
  37. /package/docs/academy/02-MasteryTrack/05-Launch/{06-LaunchYourFrontend.md → _06-LaunchYourFrontend} +0 -0
  38. /package/docs/academy/04-APIReferences/{01-ReactHooks.md → 01-ReactHooks} +0 -0
  39. /package/docs/academy/04-APIReferences/{02-ReactorAPI.md → 02-ReactorAPI} +0 -0
  40. /package/docs/academy/04-APIReferences/{03-Configuration.md → 03-Configuration} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,127 @@
1
+ ## 2.5.0-dev.21 (2025-06-12)
2
+
3
+ This was a version bump only for @powerhousedao/academy to align it with other projects, there were no code changes.
4
+
5
+ ## 2.5.0-dev.20 (2025-06-12)
6
+
7
+ This was a version bump only for @powerhousedao/academy to align it with other projects, there were no code changes.
8
+
9
+ ## 2.5.0-dev.19 (2025-06-12)
10
+
11
+ This was a version bump only for @powerhousedao/academy to align it with other projects, there were no code changes.
12
+
13
+ ## 2.5.0-dev.18 (2025-06-12)
14
+
15
+ ### 🚀 Features
16
+
17
+ - added docker publish workflow ([adf65ef8a](https://github.com/powerhouse-inc/powerhouse/commit/adf65ef8a))
18
+
19
+ ### ❤️ Thank You
20
+
21
+ - Frank
22
+
23
+ ## 2.5.0-dev.17 (2025-06-12)
24
+
25
+ ### 🚀 Features
26
+
27
+ - show app skeleton while loading and accessibility fixes ([4f96e2472](https://github.com/powerhouse-inc/powerhouse/commit/4f96e2472))
28
+
29
+ ### ❤️ Thank You
30
+
31
+ - acaldas
32
+
33
+ ## 2.5.0-dev.16 (2025-06-11)
34
+
35
+ This was a version bump only for @powerhousedao/academy to align it with other projects, there were no code changes.
36
+
37
+ ## 2.5.0-dev.15 (2025-06-11)
38
+
39
+ This was a version bump only for @powerhousedao/academy to align it with other projects, there were no code changes.
40
+
41
+ ## 2.5.0-dev.14 (2025-06-10)
42
+
43
+ ### 🚀 Features
44
+
45
+ - improved analytics frontend integration ([269aed50c](https://github.com/powerhouse-inc/powerhouse/commit/269aed50c))
46
+
47
+ ### ❤️ Thank You
48
+
49
+ - acaldas @acaldas
50
+
51
+ ## 2.5.0-dev.13 (2025-06-10)
52
+
53
+ This was a version bump only for @powerhousedao/academy to align it with other projects, there were no code changes.
54
+
55
+ ## 2.5.0-dev.12 (2025-06-10)
56
+
57
+ This was a version bump only for @powerhousedao/academy to align it with other projects, there were no code changes.
58
+
59
+ ## 2.5.0-dev.11 (2025-06-07)
60
+
61
+ ### 🚀 Features
62
+
63
+ - **connect:** updated diff-analyzer processor ([ce5d1219f](https://github.com/powerhouse-inc/powerhouse/commit/ce5d1219f))
64
+
65
+ ### ❤️ Thank You
66
+
67
+ - acaldas
68
+
69
+ ## 2.5.0-dev.10 (2025-06-06)
70
+
71
+ ### 🚀 Features
72
+
73
+ - run analytics db on web worker ([ecf79575f](https://github.com/powerhouse-inc/powerhouse/commit/ecf79575f))
74
+
75
+ ### ❤️ Thank You
76
+
77
+ - acaldas
78
+
79
+ ## 2.5.0-dev.9 (2025-06-05)
80
+
81
+ This was a version bump only for @powerhousedao/academy to align it with other projects, there were no code changes.
82
+
83
+ ## 2.5.0-dev.8 (2025-06-05)
84
+
85
+ This was a version bump only for @powerhousedao/academy to align it with other projects, there were no code changes.
86
+
87
+ ## 2.5.0-dev.7 (2025-06-05)
88
+
89
+ This was a version bump only for @powerhousedao/academy to align it with other projects, there were no code changes.
90
+
91
+ ## 2.5.0-dev.6 (2025-06-05)
92
+
93
+ ### 🩹 Fixes
94
+
95
+ - set node 22 in release branch workflow ([b33681938](https://github.com/powerhouse-inc/powerhouse/commit/b33681938))
96
+
97
+ ### ❤️ Thank You
98
+
99
+ - Frank
100
+
101
+ ## 2.5.0-dev.5 (2025-06-05)
102
+
103
+ This was a version bump only for @powerhousedao/academy to align it with other projects, there were no code changes.
104
+
105
+ ## 2.5.0-dev.4 (2025-06-05)
106
+
107
+ ### 🩹 Fixes
108
+
109
+ - **builder-tools:** move esbuild dev dep to deps ([baa22be6f](https://github.com/powerhouse-inc/powerhouse/commit/baa22be6f))
110
+
111
+ ### ❤️ Thank You
112
+
113
+ - ryanwolhuter @ryanwolhuter
114
+
115
+ ## 2.5.0-dev.3 (2025-06-05)
116
+
117
+ ### 🚀 Features
118
+
119
+ - **builder-tools:** add node polyfills esbuild plugin for connect build ([43dd16b4d](https://github.com/powerhouse-inc/powerhouse/commit/43dd16b4d))
120
+
121
+ ### ❤️ Thank You
122
+
123
+ - ryanwolhuter
124
+
1
125
  ## 2.5.0-dev.2 (2025-06-05)
2
126
 
3
127
  This was a version bump only for @powerhousedao/academy to align it with other projects, there were no code changes.
@@ -1,10 +1,20 @@
1
1
  # Explore the Demo Package
2
2
 
3
- :::tip
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
+
4
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?
5
16
 
6
17
  Install the Powerhouse command-line tool `ph-cmd` and then use it to install a pre-built demo package with document models & editors.
7
- :::
8
18
 
9
19
  ## Step 1: Install the Powerhouse CLI
10
20
 
@@ -26,7 +36,7 @@ Now, use the `ph` command to install the demo package into a global project.
26
36
 
27
37
  ```bash
28
38
  # Install the package
29
- ph install contributor-billing
39
+ ph install @powerhousedao/contributor-billing
30
40
  ```
31
41
 
32
42
  This command downloads and sets up the Contributor Billing package, making its features available in your Powerhouse environment.
@@ -34,10 +44,8 @@ This command downloads and sets up the Contributor Billing package, making its f
34
44
  You have now successfully installed `ph-cmd` and added your first package!
35
45
 
36
46
  :::info
37
- WORK IN PROGRESS @callmet
38
- Let's explore what exactly you can do with this package
39
- - Document model
40
- - Drive App
47
+ Let's explore what exactly you can do with this package.
48
+ At the bottom of the Connect Application you'll find a button with 'invoice'. This allows you to open an invoice document. The invoice document helps contributors to get paid for their work through crypto, stablecoins or a number of other currencies. Contributors can change the state of their invoice from draft to issued, while processors or clients can follow up on the payment of these invoices. In the next steps you can explore this for yourself.
41
49
  :::
42
50
 
43
51
  ## Step 3: Run the Connect App in Studio mode
@@ -45,7 +53,7 @@ To run the package locally in Connect Studio (our collaboration and contributor
45
53
 
46
54
  ## Step 4: Log in with Renown
47
55
 
48
- Renown is Powerhouse's decentralized identity and reputation system designed to address the challenge of trust within DAOs, 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.
56
+ 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.
49
57
 
50
58
  :::tip
51
59
  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.
@@ -66,7 +74,7 @@ This DID is then associated with a credential that authorizes a specific Connect
66
74
  ### Modify a document
67
75
  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.
68
76
 
69
- ## Step 5: Explore the Document Operations History
77
+ ## Step 5: Create an invoice & Explore the Document Operations History
70
78
 
71
79
  ![Renown Login](./images/OperationsHistory.png)
72
80
 
@@ -77,7 +85,7 @@ Learn more about the [Operations History and other document tools you get for fr
77
85
 
78
86
  ## Step 6: Export a Document
79
87
 
80
- Export the 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.
88
+ 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.
81
89
 
82
90
  Now that you have explored a Powerhouse package and discovered its basic functionalities, it is time to start building your own.
83
91
  Our next tutorial focuses on creating a simple To-Do list document and will introduce you to the world of Document Models.
@@ -1,7 +1,9 @@
1
1
  # Create a ToDoList Document
2
2
 
3
3
  ## Overview
4
- This tutorial guides you through creating a 'Powerhouse project' for a **ToDoList**. A Powerhouse project primarily consists of a document model and its editor. You'll be using Connect locally, known as 'Studio mode'.
4
+ This tutorial guides you through creating a simplified version of a 'Powerhouse project' for a **ToDoList**.
5
+ A Powerhouse project primarily consists of a document model and its editor.
6
+ For this purpose, you'll be using Connect, our use-centric collaboration tool, locally, known as Connect in 'Studio mode'.
5
7
 
6
8
  ## Prerequisites
7
9
  - Powerhouse CLI installed: `pnpm install -g ph-cmd`
@@ -19,7 +21,9 @@ ph init
19
21
  <details>
20
22
  <summary> How to make use of different branches? </summary>
21
23
 
22
- When installing or using the Powerhouse CLI commands you are able to make use of the dev & staging branches. These branches contain more experimental features then the latest stable release the PH CLI uses by default. They can be used to get access to a bugfix or features under development.
24
+ When installing or using the Powerhouse CLI commands you are able to make use of the dev & staging branches.
25
+ These branches contain more experimental features then the latest stable release the PH CLI uses by default.
26
+ They can be used to get access to a bugfix or features under development.
23
27
 
24
28
  | Command | Description |
25
29
  |---------|-------------|
@@ -43,57 +47,50 @@ Please be aware that these versions can contain bugs and experimental features t
43
47
  ```bash
44
48
  cd your-directory
45
49
  ```
46
- 3. Ensure you're in the correct directory before running the `ph init` command
47
-
48
-
50
+ 3. Ensure you're in the correct directory before running the `ph init` command.
49
51
  In the terminal, you will be asked to enter the project name. Fill in the project name and press Enter.
52
+ ```bash
53
+ you@yourmachine:~/Powerhouse$ ph init
50
54
 
51
- ```bash
52
- you@yourmachine:~/Powerhouse$ ph init
53
-
54
- ? What is the project name? ‣ <yourprojectname>
55
- ```
56
-
57
- Once the project is created, you will see the following output:
58
-
59
- ```bash
60
- Initialized empty Git repository in /Users/yourmachine/<yourprojectname>/.git/
61
- The installation is done!
62
- ```
63
-
64
- Navigate to the newly created project directory:
65
-
66
- ```bash
67
- cd <yourprojectname>
68
- ```
55
+ ? What is the project name? ‣ <yourprojectname>
56
+ ```
69
57
 
70
- Once in the project directory, run the `ph connect` command to start a local instance of the Connect application. This allows you to start your document model specification document.
58
+ Once the project is created, you will see the following output:
59
+ ```bash
60
+ Initialized empty Git repository in /Users/yourmachine/<yourprojectname>/.git/
61
+ The installation is done!
62
+ ```
71
63
 
72
- Run the following command to start the Connect application:
64
+ Navigate to the newly created project directory:
65
+ ```bash
66
+ cd <yourprojectname>
67
+ ```
68
+ Once in the project directory, run the `ph connect` command to start a local instance of the Connect application. This allows you to start your document model specification document.
69
+ Run the following command to start the Connect application:
73
70
 
74
- ```bash
75
- ph connect
76
- ```
71
+ ```bash
72
+ ph connect
73
+ ```
77
74
 
78
- The Connect application will start and you will see the following output:
75
+ The Connect application will start and you will see the following output:
79
76
 
80
- ```bash
81
- ➜ Local: http://localhost:3000/
82
- ➜ Network: http://192.168.5.110:3000/
83
- ➜ press h + enter to show help
84
- ```
77
+ ```bash
78
+ ➜ Local: http://localhost:3000/
79
+ ➜ Network: http://192.168.5.110:3000/
80
+ ➜ press h + enter to show help
81
+ ```
85
82
 
86
- A new browser window will open and you will see the Connect application. If it doesn't open automatically, you can open it manually by navigating to `http://localhost:3000/` in your browser.
83
+ A new browser window will open and you will see the Connect application. If it doesn't open automatically, you can open it manually by navigating to `http://localhost:3000/` in your browser.
87
84
 
88
- You will see your local drive and a button to create a new drive.
85
+ You will see your local drive and a button to create a new drive.
89
86
 
90
87
  :::tip
91
- A drive is a folder to store and organize your documents in. Powerhouse offers the ability to build customized 'Drive Apps' for your documents. Think of a Drive App as a specialized lens—it offers **different ways to visualize, organize, and interact with** the data stored within a drive, making it more intuitive and efficient for specific use cases. To learn more, visit [Building A Drive App](/academy/MasteryTrack/BuildingUserExperiences/BuildingADriveExplorer)
88
+ A **drive** is a folder to store and organize your documents in. Powerhouse offers the ability to build customized 'Drive Apps' for your documents. Think of a Drive App as a specialized lens—it offers **different ways to visualize, organize, and interact with** the data stored within a drive, making it more intuitive and efficient for specific use cases. To learn more, visit [Building A Drive App](/academy/MasteryTrack/BuildingUserExperiences/BuildingADriveExplorer)
92
89
  :::
93
90
 
94
- Move into your local drive.
91
+ Move into your local drive.
95
92
  Create a new document model by clicking the `DocumentModel` button, found in the 'New Document' section at the bottom of the page.
96
93
 
97
- If you've followed the steps correctly, you'll have an empty document where you can define the 'Document Specifications'.
94
+ If you've followed the steps correctly, you'll have an empty document where you can define the **'Document Specifications'**.
98
95
 
99
96
  In the next tutorials, you will learn how to specify, add code and build an editor for your document model and export it to be used in your Powerhouse package.
@@ -3,13 +3,26 @@
3
3
  In this tutorial, you will learn how to define the specifications for a **ToDoList** document model within the Connect application using its GraphQL schema, and then export the resulting document model specification document for your Powerhouse project.
4
4
  If you don't have a document specification file created yet, have a look at the previous step of this tutorial to create a new document specification.
5
5
 
6
- Before you start, make sure you have the Connect application running locally with the command `ph connect`
6
+ Before you start, make sure you have the Connect application running locally with the command:
7
+ ```bash
8
+ ph connect
9
+ ```
10
+ The Connect application will start and you will see the following output:
11
+
12
+ ```bash
13
+ ➜ Local: http://localhost:3000/
14
+ ➜ Network: http://192.168.5.110:3000/
15
+ ➜ press h + enter to show help
16
+ ```
7
17
 
8
18
  ## ToDoList Document Specification
9
19
 
10
- Likely you have called your project 'ToDoList'. If you've used a different name, please create a new document specification named 'ToDoList'. **Pay close attention to capitalization, as it influences our code.**
20
+ Likely you have called your project 'ToDoList'.
21
+ If you've used a different name, please create a new document specification named 'ToDoList'.
22
+ **Pay close attention to capitalization, as it influences our code.**
11
23
 
12
- We'll continue with this project to teach you how to create a document model specification and later an editor for your document model. We use the **GraphQL Schema Definition Language** (SDL) to define the schema for the document model. Below, you can see the SDL for the `ToDoList` document model.
24
+ We'll continue with this project to teach you how to create a document model specification and later an editor for your document model. We use the **GraphQL Schema Definition Language** (SDL) to define the schema for the document model.
25
+ Below, you can see the SDL for the `ToDoList` document model.
13
26
 
14
27
  :::info
15
28
  This schema defines the **data structure** of the document model and the types involved in its operations, which are detailed further as input types.
@@ -17,7 +30,7 @@ Documents in Powerhouse leverage **event sourcing principles**, where every stat
17
30
  :::
18
31
 
19
32
  <details>
20
- <summary>State Schema of our ToDoList</summary>
33
+ <summary>State Schema of our Simplified ToDoList</summary>
21
34
 
22
35
  ```graphql
23
36
  # The state of our ToDoList
@@ -37,7 +50,7 @@ type ToDoItem {
37
50
 
38
51
 
39
52
  <details>
40
- <summary>Operations Schema of our ToDoList</summary>
53
+ <summary>Operations Schema of our Simplified ToDoList</summary>
41
54
  ```graphql
42
55
  # Defines a GraphQL input type for adding a new to-do item
43
56
  input AddTodoItemInput {
@@ -63,7 +76,7 @@ input DeleteTodoItemInput {
63
76
 
64
77
  To be able to define the document model, you need to open the document model editor in Connect.
65
78
 
66
- #### The steps below show you how to do this:
79
+ ### The steps below show you how to do this:
67
80
 
68
81
  1. In the Connect application, click on **'document model'** to open the document model specification editor.
69
82
  2. Name your document model 'ToDoList' in the Connect application, paying close attention to capitalization.
@@ -93,4 +106,6 @@ Check below screenshot for the complete implementation:
93
106
 
94
107
  ![ToDoList Document Model](./images/DocumentModelOperations.png)
95
108
 
109
+ ### Up next: Reducers
110
+
96
111
  Up next, you'll learn how to implement the runtime logic and components that will use the `ToDoList` document model specification you've just created and exported.
@@ -8,8 +8,10 @@ To export the document model specification, follow the steps in the [Define ToDo
8
8
 
9
9
  Reducers are a core concept in Powerhouse document models. They implement the state transition logic for each operation defined in your schema.
10
10
 
11
+ :::info
11
12
  **Connection to Schema Definition Language (SDL)**: The reducers directly implement the operations you defined in your SDL. Remember how we defined `AddTodoItemInput`, `UpdateTodoItemInput`, and `DeleteTodoItemInput` in our schema?
12
13
  The reducers provide the actual implementation of what happens when those operations are performed.
14
+ :::
13
15
 
14
16
  To import the document model specification into your Powerhouse project, you can either:
15
17
  - Copy and paste the file directly into the root of your Powerhouse project.
@@ -19,6 +21,8 @@ Either step will import the document model specification into your Powerhouse pr
19
21
 
20
22
  ![vscode image](./images/vscode.png)
21
23
 
24
+ ## In your Project Directory
25
+
22
26
  The next steps will take place in the VSCode editor. Make sure to have it open and the terminal window inside VSCode open as well.
23
27
 
24
28
 
@@ -190,4 +194,5 @@ Output should be as follows:
190
194
 
191
195
  If you got the same output, you have successfully implemented the operation reducers and tests for the **ToDoList** document model. Congratulations, you've successfully set up the backbone for a simple **ToDoList** document.
192
196
 
197
+ ## Up Next: ToDoListEditor
193
198
  In the next chapter of this introduction track you will learn how to implement an editor for your document model so you can see a simple user interface for the **ToDoList** document model in action.