@powerhousedao/academy 0.1.0-dev.3 → 0.1.0-dev.5

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 (189) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +1 -1
  3. package/docs/academy/01-GetStarted/00-ExploreDemoPackage.md +78 -0
  4. package/docs/academy/01-GetStarted/{03-ToDoList/01-CreateNewPowerhouseProject.md → 01-CreateNewPowerhouseProject.md} +10 -8
  5. package/docs/academy/01-GetStarted/02-DefineToDoListDocumentModel.md +97 -0
  6. package/docs/academy/01-GetStarted/{03-ToDoList/03-ImplementOperationReducers.md → 03-ImplementOperationReducers.md} +20 -16
  7. package/docs/academy/01-GetStarted/{03-ToDoList/04-BuildToDoListEditor.md → 04-BuildToDoListEditor.md} +15 -15
  8. package/docs/academy/01-GetStarted/{00-GetStarted.mdx → home.mdx} +41 -52
  9. package/docs/academy/{02-AdvancedTutorial/01-Create/01-SetupBuilderEnvironment.md → 02-MasteryTrack/01-BuilderEnvironment/01-Prerequisites.md} +78 -43
  10. package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/02-StandardDocumentModelWorkflow.md +253 -0
  11. package/docs/academy/{02-AdvancedTutorial/01-Create/00-BuilderTools.md → 02-MasteryTrack/01-BuilderEnvironment/03-BuilderTools.md} +1 -1
  12. package/docs/academy/02-MasteryTrack/01-BuilderEnvironment/_category_.json +7 -0
  13. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/01-WhatIsADocumentModel.md +188 -0
  14. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/02-SpecifyTheStateSchema.md +72 -0
  15. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/03-SpecifyDocumentOperations.md +119 -0
  16. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/04-UseTheDocumentModelGenerator.md +116 -0
  17. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/05-ImplementDocumentReducers.md +282 -0
  18. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/06-ImplementDocumentModelTests.md +277 -0
  19. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/07-ExampleToDoListRepository.md +1 -0
  20. package/docs/academy/02-MasteryTrack/02-DocumentModelCreation/_category_.json +7 -0
  21. package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/02-ConfiguringDrives.md +2 -2
  22. package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/03-BuildingADriveExplorer.md +1 -1
  23. package/docs/academy/02-MasteryTrack/03-BuildingUserExperiences/07-DocumentTools/00-DocumentToolbar.md +20 -0
  24. package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/01-OperationHistory.md +1 -1
  25. package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/01-ReadingAndWritingThroughTheAPI.mdx +2 -2
  26. package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/02-GraphQLAtPowerhouse.md +1 -1
  27. package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/graphql/index.md +1 -1
  28. package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/02-IntroductionToPackages.md +2 -2
  29. package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/03-RunOnACloudServer.md +3 -3
  30. package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/03-SetupEnvironment.md +1 -1
  31. package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/_category_.json +1 -1
  32. package/docs/academy/04-APIReferences/00-PowerhouseCLI.md +740 -0
  33. package/docs/academy/04-APIReferences/01-ReactHooks.md +16 -0
  34. package/docs/academy/04-APIReferences/02-ReactorAPI.md +1 -0
  35. package/docs/academy/04-APIReferences/03-Configuration.md +64 -0
  36. package/docs/academy/{04-ComponentLibrary/01-PowerhouseDesignSystem.md → 06-ComponentLibrary/00-DocumentEngineering.md} +8 -8
  37. package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/02-BuildingWithScalars.md +2 -2
  38. package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/03-Scalar-Components/01-phid-field.mdx +1 -1
  39. package/docs/academy/{06-Cookbook.md → 07-Cookbook.md} +24 -18
  40. package/docs/academy/08-Glossary.md +82 -0
  41. package/docusaurus.config.ts +7 -14
  42. package/package.json +11 -8
  43. package/scripts/generate-combined-cli-docs.ts +80 -0
  44. package/sidebars.ts +100 -14
  45. package/src/components/HomepageFeatures/index.tsx +10 -10
  46. package/src/css/custom.css +11 -0
  47. package/src/pages/{index.tsx → _archive-homepage.tsx} +1 -1
  48. package/src/theme/DocCardList/index.tsx +30 -0
  49. package/static/img/storybook-icon.svg +18 -0
  50. package/docs/academy/01-GetStarted/01-InstallDemoPackage.md +0 -38
  51. package/docs/academy/01-GetStarted/02-LoginWithRenown.md +0 -32
  52. package/docs/academy/01-GetStarted/03-ToDoList/02-DefineToDoListDocumentModel.md +0 -86
  53. package/docs/academy/01-GetStarted/03-ToDoList/_category_.json +0 -8
  54. package/docs/academy/01-GetStarted/_category_.json +0 -3
  55. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/_category_.json +0 -8
  56. package/docs/academy/02-AdvancedTutorial/01-Create/02-StandardDocumentModelWorkflow.md +0 -229
  57. package/docs/academy/03-APIReferences/00-PowerhouseCLI.md +0 -40
  58. package/docs/academy/03-APIReferences/01-ReactHooks.md +0 -3
  59. package/docs/academy/03-APIReferences/02-ReactorUsage.md +0 -1
  60. package/docs/academy/07-Glossary.md +0 -53
  61. /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/DocumentModelHeader.png +0 -0
  62. /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/DocumentModelOperations.png +0 -0
  63. /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/OpenDocumentModelEditor.gif +0 -0
  64. /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/completeEditor.png +0 -0
  65. /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/connectApp.gif +0 -0
  66. /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/form.png +0 -0
  67. /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/mytodolist.gif +0 -0
  68. /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/reducers.png +0 -0
  69. /package/docs/academy/01-GetStarted/{03-ToDoList/images → images}/vscode.png +0 -0
  70. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/01-BuildingBeautifulDocumentEditors.md +0 -0
  71. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/02-RevisionHistoryTimeline.md +0 -0
  72. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/_category_.json +0 -0
  73. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/images/committer-address-popup.png +0 -0
  74. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/images/revision-hash-popup.png +0 -0
  75. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/images/revision-history-list.png +0 -0
  76. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/07-DocumentTools/images/signature-details-popup.png +0 -0
  77. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/01-RenownAuthenticationFlow.md +0 -0
  78. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/02-Authorization.md +0 -0
  79. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/_category_.json +0 -0
  80. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/images/ConnectAddress.png +0 -0
  81. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/images/LoginComplete.png +0 -0
  82. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/images/OperationsHistory.png +0 -0
  83. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/images/RenownLogin.png +0 -0
  84. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/08-Authorization/images/ReturnToConnect.png +0 -0
  85. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/_category_.json +0 -0
  86. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/images/CreateDrive.png +0 -0
  87. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/images/CreateNewDrive.png +0 -0
  88. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/03-BuildingUserExperiences/images/mytodolist.gif +0 -0
  89. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/03-WorkingWithSubgraphs/02-GraphQLAndSubgraphs.mdx +0 -0
  90. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/03-WorkingWithSubgraphs/03-WorkingWithSubgraphs.md +0 -0
  91. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/03-WorkingWithSubgraphs/_category_.json +0 -0
  92. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/04-analytics-processor.md +0 -0
  93. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/01-SetupBuilderEnvironment.md +0 -0
  94. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/02-CreateNewPowerhouseProject.md +0 -0
  95. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/03-GenerateAnAnalyticsProcessor.md +0 -0
  96. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/04-UpdateAnalyticsProcessor.md +0 -0
  97. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/_category_.json +0 -0
  98. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/images/Create-SPV.gif +0 -0
  99. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/images/Create-a-new-asset.png +0 -0
  100. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/images/Create-a-transaction.gif +0 -0
  101. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/images/Transaction-table.png +0 -0
  102. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/images/create-a-new-RWA-document.gif +0 -0
  103. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/05-AnalyticsProcessorTutorial/images/granularity.png +0 -0
  104. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/GraphQL References/QueryingADocumentWithGraphQL.md +0 -0
  105. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/GraphQL References/rwa-reports/listener-raw.png +0 -0
  106. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/GraphQL References/rwa-reports/raw-reports1.png +0 -0
  107. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/GraphQL References/rwa-reports/raw-reports2.png +0 -0
  108. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/GraphQL References/rwa-reports/rwaRegister.png +0 -0
  109. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/apse.png +0 -0
  110. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/best-practices.md +0 -0
  111. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/filter.png +0 -0
  112. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/filteroptions.png +0 -0
  113. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/graphql/integration.md +0 -0
  114. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/dbs.png +0 -0
  115. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/high-level.jpg +0 -0
  116. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/indexeddb.png +0 -0
  117. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/libs-core.jpg +0 -0
  118. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/libs.jpg +0 -0
  119. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/lod.jpg +0 -0
  120. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/logo.png +0 -0
  121. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/navbar.png +0 -0
  122. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/overview-1.jpg +0 -0
  123. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/overview-2.jpg +0 -0
  124. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/overview-3.jpg +0 -0
  125. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/overview-4.jpg +0 -0
  126. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/overview-5.jpg +0 -0
  127. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/overview-6.jpg +0 -0
  128. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/paths-1.jpg +0 -0
  129. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/images/paths-2.jpg +0 -0
  130. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/intro.md +0 -0
  131. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/benchmarks.md +0 -0
  132. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/browser.md +0 -0
  133. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/compatibility.md +0 -0
  134. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/index.md +0 -0
  135. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/memory.md +0 -0
  136. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/pg.md +0 -0
  137. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/schema.md +0 -0
  138. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/typescript/utilities.md +0 -0
  139. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/use-cases/index.md +0 -0
  140. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/use-cases/maker.md +0 -0
  141. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/06-Analytics Engine/use-cases/processors.md +0 -0
  142. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/_category_.json +0 -0
  143. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/images/OperationHistory.png +0 -0
  144. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/images/OperationsQuery.png +0 -0
  145. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/images/QueryDocumentID.png +0 -0
  146. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/04-WorkWithData/images/SwitchboardButton.png +0 -0
  147. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/00-IntegrateInAFront-End +0 -0
  148. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/01-IntroducingFusion +0 -0
  149. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/02-PublishYourProject.md +0 -0
  150. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/04-GraphQLNamespacing +0 -0
  151. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/05-LaunchYourBackend.md +0 -0
  152. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/06-LaunchYourFrontend.md +0 -0
  153. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/_category_.json +0 -0
  154. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/images/SSHConnection.png +0 -0
  155. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/images/homedesign.png +0 -0
  156. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/images/keyconcepts.png +0 -0
  157. /package/docs/academy/{02-AdvancedTutorial → 02-MasteryTrack}/05-Launch/images/tutorialschema.png +0 -0
  158. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/01-SetupBuilderEnvironment.md +0 -0
  159. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/02-CreateNewPowerhouseProject.md +0 -0
  160. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/03-DefineChatroomDocumentModel.md +0 -0
  161. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/04-ImplementOperationReducers.md +0 -0
  162. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/05-ImplementChatroomEditor.md +0 -0
  163. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/06-LaunchALocalReactor.md +0 -0
  164. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/_category_.json +0 -0
  165. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/image-1.png +0 -0
  166. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/image-2.png +0 -0
  167. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/image-3.png +0 -0
  168. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/image-4.png +0 -0
  169. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/image-5.png +0 -0
  170. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/image.png +0 -0
  171. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/images/ChatRoomConnectApp.gif +0 -0
  172. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/images/ChatRoomTest.gif +0 -0
  173. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/images/completeEditor.png +0 -0
  174. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/images/form.png +0 -0
  175. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/images/reducers.png +0 -0
  176. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials → 03-ExampleUsecases}/Chatroom/images/vscode.png +0 -0
  177. /package/docs/academy/{03-APIReferences → 04-APIReferences}/_category_.json +0 -0
  178. /package/docs/academy/05-Architecture/05-DocumentModelTheory/{01-WhatIsADocumentModel.md → 01-WhatIsADocumentModel} +0 -0
  179. /package/docs/academy/05-Architecture/05-DocumentModelTheory/{02-DAOandDocumentsModelsQ+A.md → 02-DAOandDocumentsModelsQ+A} +0 -0
  180. /package/docs/academy/05-Architecture/05-DocumentModelTheory/{02-domain-modeling.md → 02-domain-modeling} +0 -0
  181. /package/docs/academy/05-Architecture/05-DocumentModelTheory/{03-BenefitsOfDocumentModels.md → 03-BenefitsOfDocumentModels} +0 -0
  182. /package/docs/academy/{02-AdvancedTutorial/01-Create/02-MoreTutorials/04-UtilitiesAndTips.md → 05-Architecture/05-DocumentModelTheory/04-UtilitiesAndTips} +0 -0
  183. /package/docs/academy/05-Architecture/05-DocumentModelTheory/{05-best-practices.md → 05-best-practices} +0 -0
  184. /package/docs/academy/{04-ComponentLibrary/00-StorybookLink → 06-ComponentLibrary/01-StorybookLink} +0 -0
  185. /package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/03-Scalar-Components/02-input-field.mdx +0 -0
  186. /package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/04-Complex-Components/01-sidebar.mdx +0 -0
  187. /package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/05-Layout-Components/01-test-toupdate.mdx +0 -0
  188. /package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/06-Fragments/01-test-toupdate.mdx +0 -0
  189. /package/docs/academy/{04-ComponentLibrary → 06-ComponentLibrary}/_category_.json +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,35 @@
1
+ ## 0.1.0-dev.5 (2025-06-03)
2
+
3
+ ### 🩹 Fixes
4
+
5
+ - **academy:** lockfile issue second time' ([6208fe614](https://github.com/powerhouse-inc/powerhouse/commit/6208fe614))
6
+ - **academy:** fix frozen lockfile issue' ([80f18ec73](https://github.com/powerhouse-inc/powerhouse/commit/80f18ec73))
7
+ - **academy:** fix frozen lockfile issue ([bfc3dcd21](https://github.com/powerhouse-inc/powerhouse/commit/bfc3dcd21))
8
+
9
+ ### ❤️ Thank You
10
+
11
+ - Callme-T
12
+
13
+ ## 0.1.0-dev.4 (2025-06-03)
14
+
15
+ ### 🚀 Features
16
+
17
+ - **academy:** centralize husky & auto-update cli docs ([8c92e0bb1](https://github.com/powerhouse-inc/powerhouse/commit/8c92e0bb1))
18
+ - **ph-cli:** added setup-service command ([dfa082aa6](https://github.com/powerhouse-inc/powerhouse/commit/dfa082aa6))
19
+ - **scripts:** updated setup scripts ([9f7fa7644](https://github.com/powerhouse-inc/powerhouse/commit/9f7fa7644))
20
+
21
+ ### 🩹 Fixes
22
+
23
+ - **pre-commit:** use bash syntax and shebang ([da00ff581](https://github.com/powerhouse-inc/powerhouse/commit/da00ff581))
24
+ - added missing dep to academy ([4ec6c8278](https://github.com/powerhouse-inc/powerhouse/commit/4ec6c8278))
25
+ - **academy:** clean up husky script ([e18e26cd8](https://github.com/powerhouse-inc/powerhouse/commit/e18e26cd8))
26
+
27
+ ### ❤️ Thank You
28
+
29
+ - Callme-T
30
+ - Frank
31
+ - Guillermo Puente @gpuente
32
+
1
33
  ## 0.1.0-dev.3 (2025-05-27)
2
34
 
3
35
  ### 🚀 Features
package/README.md CHANGED
@@ -16,7 +16,7 @@ $ npm install
16
16
  $ npm run dev
17
17
  ```
18
18
 
19
- This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
19
+ This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. The server will break upon broken links or big navigation/relinking.
20
20
 
21
21
  ### Build
22
22
 
@@ -0,0 +1,78 @@
1
+ # Explore the Demo Package
2
+
3
+ :::tip
4
+ 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
+
6
+ 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
+
9
+ ## Step 1: Install the Powerhouse CLI
10
+
11
+ You will use the Powerhouse CLI to launch a local environment with a "**Contributor Billing**" package. This package demonstrates how you might track and bill for contributions in a project. First, you need the Powerhouse command-line interface (CLI). Open your terminal and run the installation command:
12
+
13
+ ```bash
14
+ pnpm install -g ph-cmd
15
+ ```
16
+
17
+ Verify the installation:
18
+
19
+ ```bash
20
+ ph-cmd --version
21
+ ```
22
+
23
+ ## Step 2: Install the Contributor Billing Package
24
+
25
+ Now, use the `ph` command to install the demo package into a global project.
26
+
27
+ ```bash
28
+ # Install the package
29
+ ph install contributor-billing
30
+ ```
31
+
32
+ This command downloads and sets up the Contributor Billing package, making its features available in your Powerhouse environment.
33
+
34
+ You have now successfully installed `ph-cmd` and added your first package!
35
+
36
+ ## Step 3: Run the Connect App in Studio mode
37
+ To run the package locally in Connect Studio (our collaboration and contributor app), run the `ph connect` command.
38
+
39
+ ## Step 4: Log in with Renown
40
+
41
+ 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.
42
+
43
+
44
+ :::tip
45
+ 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.
46
+ :::
47
+
48
+ ### Login Flow
49
+ "**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.
50
+
51
+ ![Renown Login](./images/RenownLogin.png)
52
+
53
+ ### Generate a DID to sign operations in Connect
54
+ 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.
55
+
56
+ ![Renown Login](./images/ConnectAddress.png)
57
+
58
+ ![Renown Login](./images/LoginComplete.png)
59
+
60
+ ### Modify a document
61
+ 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.
62
+
63
+ ## Step 5: Explore the Document Operations History
64
+
65
+ ![Renown Login](./images/OperationsHistory.png)
66
+
67
+ 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.
68
+
69
+ 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.
70
+ Learn more about the [Operations History and other document tools you get for free](../MasteryTrack/BuildingUserExperiences/DocumentTools/OperationHistory).
71
+
72
+ ## Step 6: Export a Document
73
+
74
+ 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.
75
+
76
+ Now that you have explored a Powerhouse package and discovered its basic functionalities, it is time to start building your own.
77
+ Our next tutorial focuses on creating a simple To-Do list document and will introduce you to the world of Document Models.
78
+
@@ -1,7 +1,7 @@
1
- # Create a Powerhouse Project
1
+ # Create a new ToDoList Document
2
2
 
3
3
  ## Overview
4
- This tutorial will guide you through creating a new 'Powerhouse project', which 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 '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'.
5
5
 
6
6
  ## Prerequisites
7
7
  - Powerhouse CLI installed: `pnpm install -g ph-cmd`
@@ -9,6 +9,8 @@ This tutorial will guide you through creating a new 'Powerhouse project', which
9
9
  - Visual Studio Code (or your preferred IDE)
10
10
  - Terminal/Command Prompt access
11
11
 
12
+ If you need help with installing the prerequisites you can visit our page prerequisites. @callme-t
13
+
12
14
  ## Quick Start
13
15
  Create a new Powerhouse project with a single command:
14
16
  ```bash
@@ -35,7 +37,7 @@ Please be aware that these versions can contain bugs and experimental features t
35
37
  </details>
36
38
 
37
39
  ## Before You Begin
38
- 1. Open your terminal (either your system terminal or VS Code's integrated terminal)
40
+ 1. Open your terminal (either your system terminal or IDE's integrated terminal)
39
41
  2. Navigate to your desired project directory using:
40
42
 
41
43
  ```bash
@@ -65,7 +67,7 @@ Navigate to the newly created project directory:
65
67
  cd <yourprojectname>
66
68
  ```
67
69
 
68
- Once you are in the project directory, you can run the `ph connect` command to instantiate a local version of the Connect application to start building your document model.
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.
69
71
 
70
72
  Run the following command to start the Connect application:
71
73
 
@@ -86,12 +88,12 @@ A new browser window will open and you will see the Connect application. If it d
86
88
  You will see your local drive and a button to create a new drive.
87
89
 
88
90
  :::tip
89
- 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](/docs/academy/AdvancedTutorial/BuildingUserExperiences/BuildingADriveExplorer)
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)
90
92
  :::
91
93
 
92
94
  Move into your local drive.
93
- Create a new document model by clicking on the `DocumentModel` button by the "New Document" section in the bottom.
95
+ Create a new document model by clicking the `DocumentModel` button, found in the 'New Document' section at the bottom of the page.
94
96
 
95
- If you followed the steps correctly, you should have an empty document model created.
97
+ If you've followed the steps correctly, you'll have an empty document where you can define the 'Document Specifications'.
96
98
 
97
- In the next tutorials, you will learn how to design your document model and export it to be later used in your Powerhouse project.
99
+ 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.
@@ -0,0 +1,97 @@
1
+ # Define the ToDoList document specification
2
+
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
+ 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
+
6
+ Before you start, make sure you have the Connect application running locally with the command `ph connect`
7
+
8
+ ## ToDoList Document Specification
9
+
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.
11
+ 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.
12
+
13
+ :::info
14
+ This schema defines the **data structure** of the document model and the types involved in its operations, which are detailed further as input types.
15
+ Documents in Powerhouse leverage **event sourcing principles**, where every state transition is represented by an operation. GraphQL input types describe operations, ensuring that user intents are captured effectively. These operations detail the parameters needed for state transitions. The use of GraphQL aligns these transitions with explicit, validated, and reproducible commands, supporting **CQRS** (Command Query Responsibility Segregation) patterns.
16
+ :::
17
+
18
+
19
+
20
+ <details>
21
+ <summary>State Schema of our ToDoList</summary>
22
+
23
+ ```graphql
24
+ # The state of our ToDoList
25
+ type ToDoListState {
26
+ items: [ToDoItem!]!
27
+ }
28
+
29
+ # A single to-do item
30
+ type ToDoItem {
31
+ id: ID!
32
+ text: String!
33
+ checked: Boolean!
34
+ }
35
+ ```
36
+ </details>
37
+
38
+
39
+
40
+ <details>
41
+ <summary>Operations Schema of our ToDoList</summary>
42
+ ```graphql
43
+ # Defines a GraphQL input type for adding a new to-do item
44
+ input AddTodoItemInput {
45
+ id: ID!
46
+ text: String!
47
+ }
48
+
49
+ # Defines a GraphQL input type for updating a to-do item
50
+ input UpdateTodoItemInput {
51
+ id: ID!
52
+ text: String
53
+ checked: Boolean
54
+ }
55
+
56
+ # Defines a GraphQL input type for deleting a to-do item
57
+ input DeleteTodoItemInput {
58
+ id: ID!
59
+ }
60
+ ```
61
+ </details>
62
+
63
+ ## Define the Document Model Specification
64
+
65
+ To be able to define the document model, you need to open the document model editor in Connect.
66
+
67
+ #### The steps below show you how to do this:
68
+
69
+ 1. In the Connect application, click on **'document model'** to open the document model specification editor.
70
+ 2. Name your document model 'ToDoList' in the Connect application, paying close attention to capitalization.
71
+ 3. You'll be presented with a form to fill in metadata about the document model. Fill in the details in the respective fields.
72
+
73
+ In the **Document Type** field, type `powerhouse/todolist`. This defines the new type of document that will be created with this document model specification.
74
+
75
+ ![ToDoList Document Model Form Metadata](./images/DocumentModelHeader.png)
76
+
77
+ 4. In the code editor, you can see the SDL for the document model. Replace the existing SDL template with the SDL defined in the [State Schema](#state-schema) section. Only copy and paste the types, leaving the inputs for the next step. You can, however, already press the 'Sync with schema' button to set the initial state of your document model specification based on your Schema Definition Language.
78
+ 5. Below the editor, find the input field `Add module`. You'll use this to create and name a module for organizing your input operations. In this case, we will name the module `to_do_list`. Press enter.
79
+ 6. Now there is a new field, called `Add operation`. Here you will have to add each input operation to the module, one by one.
80
+ 7. Inside the `Add operation` field, type `ADD_TODO_ITEM` and press enter. A small editor will appear underneath it, with an empty input type that you have to fill. Copy the first input type from the [Operations Schema](#operations-schema) section and paste it in the editor. The editor should look like this:
81
+
82
+ ```graphql
83
+ input AddTodoItemInput {
84
+ id: ID!
85
+ text: String!
86
+ }
87
+ ```
88
+
89
+ 8. Repeat the process from step 7 for the other input operations: `UPDATE_TODO_ITEM` and `DELETE_TODO_ITEM`. You may have noticed that you only need to add the name of the operation (e.g., `UPDATE_TODO_ITEM`, `DELETE_TODO_ITEM`) without the `Input` suffix. It will then be generated once you press enter.
90
+
91
+ 9. Once you have added all the input operations, click the `Export` button at the top right of the editor to save the document model specification document to your local machine. Ideally, you should save your file in the root of your Powerhouse project on your machine.
92
+
93
+ Check below screenshot for the complete implementation:
94
+
95
+ ![ToDoList Document Model](./images/DocumentModelOperations.png)
96
+
97
+ 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.
@@ -1,8 +1,8 @@
1
- # Implement Operation Reducers
1
+ # Implement the Document Model
2
2
 
3
- In this section, we will implement and test the operation reducers for the **ToDoList** document model. In order to do this, you have to export the document model from the Connect application and import it into your powerhouse project directory.
3
+ In this section, we will implement and test the operation reducers for the **ToDoList** document model. For this, you have to export the document model specification from the Connect application and import it into your Powerhouse project directory.
4
4
 
5
- To export the document model, follow the steps in the [Define ToDoList Document Model](/docs/academy/GetStarted/ToDoList/DefineToDoListDocumentModel) section.
5
+ To export the document model specification, follow the steps in the [Define ToDoList Document Model](/academy/GetStarted/DefineToDoListDocumentModel) section.
6
6
 
7
7
  ## Understanding Reducers in Document Models
8
8
 
@@ -16,25 +16,25 @@ Reducers are a core concept in Powerhouse document models. They implement the st
16
16
 
17
17
  4. **Type Safety**: Powerhouse generates TypeScript types from your SDL, ensuring that your reducers and operations are type-safe.
18
18
 
19
- 5. **Pure Functions**: Reducers should be pure functions that only depend on the current state and the operation input, making them predictable and testable.
19
+ 5. **Pure Functions**: Reducers should be pure functions that depend only on the current state and the operation input, making them predictable and testable.
20
20
 
21
21
  Let's see how these concepts are implemented in our **ToDoList** document model.
22
22
 
23
- ## Import Document Model and Generate Code
23
+ ## Importing the Document Model Specification and Generating Code
24
24
 
25
- To import the document model into your powerhouse project, you can either:
25
+ To import the document model specification into your Powerhouse project, you can either:
26
26
 
27
- - Copy and paste the file directly into the root of your powerhouse project.
28
- - Or drag and drop the file into the powerhouse project directory in the VSCode editor as seen in the image below:
27
+ - Copy and paste the file directly into the root of your Powerhouse project.
28
+ - Or drag and drop the file into the Powerhouse project directory in the VSCode editor as seen in the image below:
29
29
 
30
- Either step will import the document model into your powerhouse project.
30
+ Either step will import the document model specification into your Powerhouse project.
31
31
 
32
32
  ![vscode image](./images/vscode.png)
33
33
 
34
34
  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.
35
35
 
36
36
 
37
- To write the operation reducers of the **ToDoList** document model, you need to generate the document model code from the document model file you have exported into the powerhouse project directory.
37
+ To write the operation reducers of the **ToDoList** document model, you need to generate the document model code from the document model specification file you have exported into the Powerhouse project directory.
38
38
 
39
39
  To do this, run the following command in the terminal:
40
40
 
@@ -44,7 +44,7 @@ ph generate ToDoList.phdm.zip
44
44
 
45
45
  Now you can navigate to `/document-models/to-do-list/src/reducers/to-do-list.ts` and start writing the operation reducers.
46
46
 
47
- Open the `to-do-list.ts` file and you should see the code that needs to be filled for the three operations you have defined earlier. Image below shows the code that needs to be filled:
47
+ Open the `to-do-list.ts` file and you should see the code that needs to be filled for the three operations you have specified earlier. The image below shows the code that needs to be filled:
48
48
 
49
49
  ![to-do-list ts file](./images/reducers.png)
50
50
 
@@ -54,6 +54,8 @@ Open the `to-do-list.ts` file and you should see the code that needs to be fille
54
54
  2. Save the file.
55
55
 
56
56
 
57
+ <details>
58
+ <summary>Operation Reducers</summary>
57
59
  ```typescript
58
60
  import { ToDoListToDoListOperations } from '../../gen/to-do-list/operations.js';
59
61
 
@@ -104,6 +106,7 @@ export const reducer: ToDoListToDoListOperations = {
104
106
  },
105
107
  };
106
108
  ```
109
+ </details>
107
110
 
108
111
  ## Write the Operation Reducers Tests
109
112
 
@@ -111,8 +114,10 @@ In order to make sure the operation reducers are working as expected, you need t
111
114
 
112
115
  Navigate to `/document-models/to-do-list/src/reducers/tests/to-do-list.test.ts` and copy and paste the code below into the file. Save the file.
113
116
 
114
- Here are the tests for the three operations written in the reducers file. This test file creates an empty ToDoList document model, then adds a todo item, updates it and deletes it.
117
+ Here are the tests for the three operations implemented in the reducers file. This test file creates an empty ToDoList document model, then adds a todo item, updates it and deletes it.
115
118
 
119
+ <details>
120
+ <summary>Operation Reducers Tests</summary>
116
121
  ```typescript
117
122
  import utils from '../../gen/utils';
118
123
  import { reducer } from '../../gen/reducer';
@@ -178,6 +183,7 @@ describe('Todolist Operations', () => {
178
183
  });
179
184
  });
180
185
  ```
186
+ </details>
181
187
 
182
188
  Now you can run the tests to make sure the operation reducers are working as expected.
183
189
 
@@ -194,8 +200,6 @@ Output should be as follows:
194
200
  Duration 417ms (transform 79ms, setup 0ms, collect 174ms, tests 12ms, environment 0ms, prepare 158ms)
195
201
  ```
196
202
 
197
- If you got the same output, you have successfully implemented the operation reducers and tests for the **ToDoList** document model. Congratulations, you've successfully setup the backbone for a simple **ToDoList** document model.
203
+ 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.
198
204
 
199
- :::tip
200
- Continue to the next chapter on your builder track to learn how to implement the document model editor so you can see a simple user interface for the **ToDoList** document model in action. Click here for the [ToDoList Editor](/docs/academy/GetStarted/ToDoList/BuildToDoListEditor)
201
- :::
205
+ 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.
@@ -1,12 +1,12 @@
1
- # Build a Todo-list Editor
1
+ # Build a ToDoList Editor
2
2
 
3
- In this chapter we will continue with the interface or editor implementation of the **ToDoList** document model editor. This means you will create a simple user interface for the **ToDoList** document model which will be used inside the Connect app to create, update and delete your ToDoList items.
3
+ In this chapter we will continue with the interface or editor implementation of the **ToDoList** document model. This means you will create a simple user interface for the **ToDoList** document model which will be used inside the Connect app to create, update and delete your ToDoList items.
4
4
 
5
5
  ## Generate the editor template
6
6
 
7
- Run the command below to generate the editor template for the **ToDoList** document model. This command reads the **ToDoList** document model definition from the `document-models` folder and generates the editor template in the `editors/to-do-list/editor.tsx` folder.
7
+ Run the command below to generate the editor template for the **ToDoList** document model. This command reads the **ToDoList** document model definition from the `document-models` folder and generates the editor template in the `editors/to-do-list` folder as `editor.tsx`.
8
8
 
9
- Notice the `--editor` flag which defines the **ToDoList** document model. And the `--document-types` flag which defines the document type `powerhouse/todolist`.
9
+ Notice the `--editor` flag which specifies the **ToDoList** document model, and the `--document-types` flag defines the document type `powerhouse/todolist`.
10
10
 
11
11
  ```bash
12
12
  ph generate --editor ToDoList --document-types powerhouse/todolist
@@ -188,24 +188,24 @@ export default function Editor({ document, dispatch }: IProps) {
188
188
 
189
189
  ---
190
190
 
191
- ## To-do List Editor
191
+ ## ToDoList Editor
192
192
 
193
193
  :::tip
194
194
  ### Implementing Components
195
- The editor we are about to implement makes use of some components from the **Powerhouse Design System**.
196
- When you'll add the editor code you'll see it makes use of two components, the `Checkbox` and `InputField`.
197
- These are imported from the Powerhouse Design System (`@powerhousedao/design-system/scalars`).
195
+ The editor we are about to implement makes use of some components from **Powerhouse Document Engineering**.
196
+ When you add the editor code, you'll see it makes use of two components, the `Checkbox` and `InputField`.
197
+ These are imported from the Powerhouse Document Engineering design system (`@powerhousedao/document-engineering/scalars`).
198
198
 
199
199
  This system provides a library of reusable components to ensure consistency and speed up development.
200
- You can explore available components, see usage examples, and understand their properties (props) using our Storybook instance. For a detailed guide on how to leverage the design system and Storybook, see [using the Powerhouse Design System](/docs/academy/ComponentLibrary/PowerhouseDesignSystem) page.
200
+ You can explore available components, see usage examples, and understand their properties (props) using our Storybook instance. For a detailed guide on how to leverage the Document Engineering design system and Storybook, see [Using the Powerhouse Document Engineering](/academy/ComponentLibrary/DocumentEngineering) page.
201
201
 
202
- For our tutorial you can now create a `components` folder in the `editors/to-do-list` folder and add the following code to each of the components
202
+ For this tutorial, create a `components` folder inside `editors/to-do-list`. Then, within this new `components` folder, create the files for the `Checkbox` and `InputField` components (e.g., `Checkbox.tsx` and `InputField.tsx`) with the following code:
203
203
  :::
204
204
 
205
205
  <details>
206
206
  <summary>Checkbox</summary>
207
207
  ```typescript
208
- import { Form, BooleanField } from "@powerhousedao/design-system/scalars";
208
+ import { Form, BooleanField } from "@powerhousedao/document-engineering/scalars";
209
209
 
210
210
  interface CheckboxProps {
211
211
  value: boolean;
@@ -230,7 +230,7 @@ export const Checkbox = ({ value, onChange }: CheckboxProps) => {
230
230
  <details>
231
231
  <summary>Inputfield</summary>
232
232
  ```typescript
233
- import { Form, StringField } from "@powerhousedao/design-system/scalars";
233
+ import { Form, StringField } from "@powerhousedao/document-engineering/scalars";
234
234
 
235
235
  interface InputFieldProps {
236
236
  input: string;
@@ -270,10 +270,10 @@ export const InputField = (props: InputFieldProps) => {
270
270
  </details>
271
271
 
272
272
 
273
- Below is the complete code for the To-do List editor, primarily using Tailwind CSS for styling and importing the components from the Powerhouse Design System.
273
+ Below is the complete code for the To-Do List editor. It primarily uses Tailwind CSS for styling and imports the local `Checkbox` and `InputField` components you created in the previous step. These local components, in turn, utilize elements from the Powerhouse Document Engineering design system.
274
274
 
275
275
  <details>
276
- <summary>Complete To-do-list Editor Example (using Tailwind CSS)</summary>
276
+ <summary>Complete ToDoList Editor Example (using Tailwind CSS)</summary>
277
277
 
278
278
  ```typescript
279
279
  // Import necessary types and components.
@@ -487,7 +487,7 @@ The editor will update dynamically, so you can play around with your editor styl
487
487
  Congratulations!
488
488
  If you managed to follow this tutorial until this point, you have successfully implemented the **ToDoList** document model with its reducer operations and editor.
489
489
 
490
- Now you can move on to creating a [custom drive explorer](/docs/academy/AdvancedTutorial/BuildingUserExperiences/BuildingADriveExplorer) for your ToDoList document.
490
+ Now you can move on to creating a [custom drive explorer](/academy/MasteryTrack/BuildingUserExperiences/BuildingADriveExplorer) for your ToDoList document.
491
491
  Imagine you have many ToDoLists sitting in a drive. A custom drive explorer will allow you to organize and track them at a glance, opening up a new world of possibilities to increase the functionality of your documents!
492
492
 
493
493
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: Get Started
3
- sidebar_label: Get Started
4
- sidebar_position: 1
3
+ slug: /
4
+ sidebar_class_name: category-index-page
5
5
  ---
6
6
 
7
7
  import React from 'react';
@@ -44,44 +44,24 @@ import BrowserOnly from '@docusaurus/BrowserOnly';
44
44
  </div>
45
45
  </div>
46
46
 
47
- {/* Create Cards - One in each column */}
48
- <div className={styles.pathCard}>
49
- <div className={styles.cardHeader}>
50
- <div className={styles.cardIconWrapper}>
51
- <img src="/img/academy/icons/Book.svg" alt="" />
52
- </div>
53
- <h3 className="card-title">Book of Powerhouse</h3>
54
- </div>
55
- <div className={styles.cardContent}>
56
- <a href="/docs/bookofpowerhouse/Overview" className="path-button">The Vision of Powerhouse</a>
57
- </div>
58
- </div>
47
+ {/* Row 1: [Empty Placeholder], Create, [Empty Placeholder] */}
48
+ <div></div> {/* Placeholder for the deleted "New Link" card */}
59
49
 
60
50
  <div className={styles.pathCard} style={{ border: '1px solid #4FC86F' }}>
61
51
  <div className={styles.cardHeader}>
62
52
  <div className={styles.cardIconWrapper}>
63
- <img src="/img/academy/icons/Create.svg" alt="" />
53
+ <img src="/img/academy/icons/BuilderEnvironment.svg" alt="" />
64
54
  </div>
65
- <h3 className="card-title">Create</h3>
55
+ <h3 className="card-title">Get Started</h3>
66
56
  </div>
67
57
  <div className={styles.cardContent}>
68
- <a href="/docs/academy/GetStarted/ToDoList/CreateNewPowerhouseProject" className="path-button">Build a Todo-list Document Model</a>
58
+ <a href="/docs/academy/GetStarted/CreateNewPowerhouseProject" className="path-button">Build a Todo-list Document Model</a>
69
59
  </div>
70
60
  </div>
71
61
 
72
- <div className={styles.pathCard}>
73
- <div className={styles.cardHeader}>
74
- <div className={styles.cardIconWrapper}>
75
- <img src="/img/academy/icons/Advanced.svg" alt="" />
76
- </div>
77
- <h3 className="card-title">Document Model Theory</h3>
78
- </div>
79
- <div className={styles.cardContent}>
80
- <a href="/docs/academy/GetStarted/DocumentModelTheory/WhatIsADocumentModel" className="path-button">Deep Dive into Document Modelling</a>
81
- </div>
82
- </div>
62
+ <div></div> {/* Placeholder for the deleted "Document Model Theory" card */}
83
63
 
84
- {/* Left Column Card with 2 buttons */}
64
+ {/* Row 2: Build User Experiences, Builder Track Image, Work with Data */}
85
65
  <div className={styles.pathCard} style={{ border: '1px solid #4FC86F' }}>
86
66
  <div className={styles.cardHeader}>
87
67
  <div className={styles.cardIconWrapper}>
@@ -90,35 +70,34 @@ import BrowserOnly from '@docusaurus/BrowserOnly';
90
70
  <h3 className="card-title">Build User Experiences</h3>
91
71
  </div>
92
72
  <div className={styles.cardContent}>
93
- <a href="/docs/academy/GetStarted/ToDoList/BuildToDoListEditor" className="path-button">Building a Todo-list Editor</a>
94
- <a href="/docs/academy/BuildingUserExperiences/BuildingBeautifulDocumentEditors" className="path-button">Building Beautiful Document Editors</a>
95
- <a href="/docs/academy/AdvancedTutorial/BuildingUserExperiences/BuildingADriveExplorer" className="path-button">Building Custom Drive Explorers</a>
73
+ <a href="/docs/academy/GetStarted/BuildToDoListEditor" className="path-button">Building a Todo-list Editor</a>
74
+ <a href="/docs/academy/BuildingUserExperiences/BuildingBeautifulDocumentEditors" className="path-button">Building Document Editors</a>
75
+ <a href="/docs/academy/MasteryTrack/BuildingUserExperiences/BuildingADriveExplorer" className="path-button">Building Custom Drive Explorers</a>
76
+ <a href="/docs/academy/ComponentLibrary/DocumentEngineering" className="path-button">Component Library</a>
96
77
  </div>
97
78
  </div>
98
79
 
99
- {/* Middle column with Union.svg */}
100
- <div className={styles.middleColumn} style={{
101
- display: 'flex',
102
- justifyContent: 'center',
103
- alignItems: 'flex-start',
80
+ <div className={styles.middleColumn} style={{
81
+ display: 'flex',
82
+ justifyContent: 'center',
83
+ alignItems: 'flex-start',
104
84
  paddingTop: '-20px',
105
85
  position: 'relative'
106
86
  }}>
107
87
  <img src="/img/Union.svg" alt="Powerhouse Union" width="250" />
108
- <div style={{
88
+ <div style={{
109
89
  position: 'absolute',
110
90
  top: '18px',
111
- backgroundColor: 'white',
112
- padding: '8px 16px',
91
+ backgroundColor: 'white',
92
+ padding: '8px 16px',
113
93
  borderRadius: '8px',
114
94
  textAlign: 'center',
115
95
  zIndex: 2,
116
96
  }}>
117
- <h3 className="card-title" style={{ margin: 0 }}>Builder Track</h3>
97
+ <h3 className="card-title" style={{ margin: 0 }}>Mastery Track</h3>
118
98
  </div>
119
99
  </div>
120
100
 
121
- {/* Right Column Card with 3 buttons */}
122
101
  <div className={styles.pathCard} style={{ border: '1px solid #4FC86F' }}>
123
102
  <div className={styles.cardHeader}>
124
103
  <div className={styles.cardIconWrapper}>
@@ -127,13 +106,14 @@ import BrowserOnly from '@docusaurus/BrowserOnly';
127
106
  <h3 className="card-title">Work with Data</h3>
128
107
  </div>
129
108
  <div className={styles.cardContent}>
130
- <a href="//docs/academy/AdvancedTutorial/WorkWithData/ReadingAndWritingThroughTheAPI" className="path-button">Reading & Writing through the API</a>
131
- <a href="/docs/academy/AdvancedTutorial/WorkWithData/WorkingWithSubgraphs" className="path-button">Create your own Subgraph</a>
109
+ <a href="//docs/academy/MasteryTrack/WorkWithData/ReadingAndWritingThroughTheAPI" className="path-button">Reading & Writing through the API</a>
110
+ <a href="/docs/academy/MasteryTrack/WorkWithData/WorkingWithSubgraphs" className="path-button">Create your own Subgraph</a>
111
+ <a href="/docs/academy/WorkWithData/Analytics Engine/intro" className="path-button">Using the Analytics Engine</a>
132
112
  <a href="/docs/academy/WorkWithData/Analytics Engine/intro" className="path-button">Using the Analytics Engine</a>
133
113
  </div>
134
114
  </div>
135
115
 
136
- {/* Launch Card - Full Width with 3 column buttons */}
116
+ {/* Launch Card - Full Width with 3 column buttons - RE-INSERTED */}
137
117
  <div className={`${styles.pathCard} ${styles.fullWidth}`}>
138
118
  <div className={styles.cardHeader} style={{ justifyContent: 'center' }}>
139
119
  <div className={styles.cardIconWrapper}>
@@ -143,14 +123,14 @@ import BrowserOnly from '@docusaurus/BrowserOnly';
143
123
  </div>
144
124
  <div className={styles.cardContent}>
145
125
  <div className={styles.buttonContainer}>
146
- <a href="/docs/academy/AdvancedTutorial/Launch/PublishYourProject" className="path-button">Package & Publish</a>
126
+ <a href="/docs/academy/MasteryTrack/Launch/PublishYourProject" className="path-button">Package & Publish</a>
147
127
  <a href="/docs/academy/Launch/LaunchYourBackend" className="path-button">Launch Back-end</a>
148
128
  <a href="/docs/academy/Launch/LaunchYourFrontend" className="path-button">Launch Front-end</a>
149
129
  </div>
150
130
  </div>
151
131
  </div>
152
132
 
153
- {/* Cookbook Card - Left Column */}
133
+ {/* Row 3: Cookbook, Use-cases, Advanced Topics */}
154
134
  <div className={styles.pathCard}>
155
135
  <div className={styles.cardHeader}>
156
136
  <div className={styles.cardIconWrapper}>
@@ -163,19 +143,28 @@ import BrowserOnly from '@docusaurus/BrowserOnly';
163
143
  </div>
164
144
  </div>
165
145
 
166
- {/* Empty middle column */}
167
- <div></div>
146
+ {/* Ensure this Use-cases Card block is clean */}
147
+ <div className={styles.pathCard}> {/* New Use-cases Card */}
148
+ <div className={styles.cardHeader}>
149
+ <div className={styles.cardIconWrapper}>
150
+ <img src="/img/academy/icons/Cookbook.svg" alt="Use-cases Icon" />
151
+ </div>
152
+ <h3 className="card-title">Use-cases</h3>
153
+ </div>
154
+ <div className={styles.cardContent}>
155
+ <a href="/docs/academy/ExampleUsecases/Chatroom/SetupBuilderEnvironment" className="path-button">Explore Use-cases</a>
156
+ </div>
157
+ </div>
168
158
 
169
- {/* Advanced Topics Card - Right Column */}
170
159
  <div className={styles.pathCard}>
171
160
  <div className={styles.cardHeader}>
172
161
  <div className={styles.cardIconWrapper}>
173
162
  <img src="/img/academy/icons/Advanced.svg" alt="" />
174
163
  </div>
175
- <h3 className="card-title">Advanced Topics</h3>
164
+ <h3 className="card-title">Architecture</h3>
176
165
  </div>
177
166
  <div className={styles.cardContent}>
178
- <a href="/docs/academy/Architecture/PowerhouseArchitecture" className="path-button">Learn More</a>
167
+ <a href="/academy/05-Architecture/00-PowerhouseArchitecture" className="path-button">Learn More</a>
179
168
  </div>
180
169
  </div>
181
170
  </div>