@powerhousedao/academy 0.1.0-dev.0

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 (226) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/CHANGELOG.md +9 -0
  3. package/Dockerfile +31 -0
  4. package/ProcFile +1 -0
  5. package/README.md +43 -0
  6. package/babel.config.js +3 -0
  7. package/blog/BeyondCommunication-ABlueprintForDevelopment.md +88 -0
  8. package/blog/TheChallengeOfChange.md +86 -0
  9. package/blog/images/Iteration.png +0 -0
  10. package/blog/images/RAD.png +0 -0
  11. package/docs/academy/01-GetStarted/00-GetStarted.mdx +181 -0
  12. package/docs/academy/01-GetStarted/01_InstallDemoPackage.md +38 -0
  13. package/docs/academy/01-GetStarted/02-ToDoList/01-CreateNewPowerhouseProject.md +97 -0
  14. package/docs/academy/01-GetStarted/02-ToDoList/02-DefineToDoListDocumentModel.md +86 -0
  15. package/docs/academy/01-GetStarted/02-ToDoList/03-ImplementOperationReducers.md +201 -0
  16. package/docs/academy/01-GetStarted/02-ToDoList/04-BuildToDoListEditor.md +494 -0
  17. package/docs/academy/01-GetStarted/02-ToDoList/_category_.json +8 -0
  18. package/docs/academy/01-GetStarted/02-ToDoList/images/DocumentModelHeader.png +0 -0
  19. package/docs/academy/01-GetStarted/02-ToDoList/images/DocumentModelOperations.png +0 -0
  20. package/docs/academy/01-GetStarted/02-ToDoList/images/OpenDocumentModelEditor.gif +0 -0
  21. package/docs/academy/01-GetStarted/02-ToDoList/images/completeEditor.png +0 -0
  22. package/docs/academy/01-GetStarted/02-ToDoList/images/connectApp.gif +0 -0
  23. package/docs/academy/01-GetStarted/02-ToDoList/images/form.png +0 -0
  24. package/docs/academy/01-GetStarted/02-ToDoList/images/mytodolist.gif +0 -0
  25. package/docs/academy/01-GetStarted/02-ToDoList/images/reducers.png +0 -0
  26. package/docs/academy/01-GetStarted/02-ToDoList/images/vscode.png +0 -0
  27. package/docs/academy/01-GetStarted/styles.module.css +99 -0
  28. package/docs/academy/02-AdvancedTutorial/01-Create/00-BuilderTools.md +234 -0
  29. package/docs/academy/02-AdvancedTutorial/01-Create/01-SetupBuilderEnvironment.md +247 -0
  30. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/04-UtilitiesAndTips.md +79 -0
  31. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/01-SetupBuilderEnvironment.md +216 -0
  32. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/02-CreateNewPowerhouseProject.md +78 -0
  33. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/03-DefineChatroomDocumentModel.md +139 -0
  34. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/04-ImplementOperationReducers.md +364 -0
  35. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/05-ImplementChatroomEditor.md +194 -0
  36. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/06-LaunchALocalReactor.md +15 -0
  37. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/_category_.json +8 -0
  38. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/image-1.png +0 -0
  39. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/image-2.png +0 -0
  40. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/image-3.png +0 -0
  41. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/image-4.png +0 -0
  42. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/image-5.png +0 -0
  43. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/image.png +0 -0
  44. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/images/ChatRoomConnectApp.gif +0 -0
  45. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/images/ChatRoomTest.gif +0 -0
  46. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/images/completeEditor.png +0 -0
  47. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/images/form.png +0 -0
  48. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/images/reducers.png +0 -0
  49. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/Chatroom/images/vscode.png +0 -0
  50. package/docs/academy/02-AdvancedTutorial/01-Create/02-MoreTutorials/_category_.json +8 -0
  51. package/docs/academy/02-AdvancedTutorial/01-Create/02-StandardDocumentModelWorkflow.md +229 -0
  52. package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/01-BuildingBeautifulDocumentEditors.md +109 -0
  53. package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/02-ConfiguringDrives.md +51 -0
  54. package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/03-BuildingADriveExplorer.md +174 -0
  55. package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/07-DocumentTools/01-OperationHistory.md +67 -0
  56. package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/07-DocumentTools/02-RevisionHistoryTimeline.md +132 -0
  57. package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/07-DocumentTools/_category_.json +7 -0
  58. package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/07-DocumentTools/images/committer-address-popup.png +0 -0
  59. package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/07-DocumentTools/images/revision-hash-popup.png +0 -0
  60. package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/07-DocumentTools/images/revision-history-list.png +0 -0
  61. package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/07-DocumentTools/images/signature-details-popup.png +0 -0
  62. package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/_category_.json +8 -0
  63. package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/images/CreateDrive.png +0 -0
  64. package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/images/mytodolist.gif +0 -0
  65. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/01-ReadingAndWritingThroughTheAPI.mdx +121 -0
  66. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/02-GraphQLAtPowerhouse.md +156 -0
  67. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/03-WorkingWithSubgraphs/02-GraphQLAndSubgraphs.mdx +119 -0
  68. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/03-WorkingWithSubgraphs/03-WorkingWithSubgraphs.md +312 -0
  69. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/03-WorkingWithSubgraphs/_category_.json +8 -0
  70. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/04-analytics-processor.md +342 -0
  71. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/05-AnalyticsProcessorTutorial/01-SetupBuilderEnvironment.md +215 -0
  72. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/05-AnalyticsProcessorTutorial/02-CreateNewPowerhouseProject.md +55 -0
  73. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/05-AnalyticsProcessorTutorial/03-GenerateAnAnalyticsProcessor.md +173 -0
  74. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/05-AnalyticsProcessorTutorial/04-UpdateAnalyticsProcessor.md +223 -0
  75. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/05-AnalyticsProcessorTutorial/_category_.json +8 -0
  76. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/05-AnalyticsProcessorTutorial/images/Create-SPV.gif +0 -0
  77. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/05-AnalyticsProcessorTutorial/images/Create-a-new-asset.png +0 -0
  78. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/05-AnalyticsProcessorTutorial/images/Create-a-transaction.gif +0 -0
  79. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/05-AnalyticsProcessorTutorial/images/Transaction-table.png +0 -0
  80. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/05-AnalyticsProcessorTutorial/images/create-a-new-RWA-document.gif +0 -0
  81. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/05-AnalyticsProcessorTutorial/images/granularity.png +0 -0
  82. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/GraphQL References/QueryingADocumentWithGraphQL.md +244 -0
  83. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/GraphQL References/rwa-reports/listener-raw.png +0 -0
  84. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/GraphQL References/rwa-reports/raw-reports1.png +0 -0
  85. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/GraphQL References/rwa-reports/raw-reports2.png +0 -0
  86. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/GraphQL References/rwa-reports/rwaRegister.png +0 -0
  87. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/apse.png +0 -0
  88. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/best-practices.md +60 -0
  89. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/filter.png +0 -0
  90. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/filteroptions.png +0 -0
  91. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/graphql/index.md +166 -0
  92. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/graphql/integration.md +75 -0
  93. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/dbs.png +0 -0
  94. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/high-level.jpg +0 -0
  95. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/indexeddb.png +0 -0
  96. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/libs-core.jpg +0 -0
  97. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/libs.jpg +0 -0
  98. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/lod.jpg +0 -0
  99. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/logo.png +0 -0
  100. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/navbar.png +0 -0
  101. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/overview-1.jpg +0 -0
  102. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/overview-2.jpg +0 -0
  103. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/overview-3.jpg +0 -0
  104. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/overview-4.jpg +0 -0
  105. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/overview-5.jpg +0 -0
  106. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/overview-6.jpg +0 -0
  107. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/paths-1.jpg +0 -0
  108. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/images/paths-2.jpg +0 -0
  109. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/intro.md +149 -0
  110. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/typescript/benchmarks.md +27 -0
  111. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/typescript/browser.md +77 -0
  112. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/typescript/compatibility.md +14 -0
  113. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/typescript/index.md +230 -0
  114. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/typescript/memory.md +72 -0
  115. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/typescript/pg.md +63 -0
  116. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/typescript/schema.md +14 -0
  117. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/typescript/utilities.md +102 -0
  118. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/use-cases/index.md +7 -0
  119. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/use-cases/maker.md +652 -0
  120. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/06-Analytics Engine/use-cases/processors.md +3 -0
  121. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/_category_.json +8 -0
  122. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/images/OperationHistory.png +0 -0
  123. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/images/OperationsQuery.png +0 -0
  124. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/images/QueryDocumentID.png +0 -0
  125. package/docs/academy/02-AdvancedTutorial/04-WorkWithData/images/SwitchboardButton.png +0 -0
  126. package/docs/academy/02-AdvancedTutorial/05-Launch/00-IntegrateInAFront-End +3 -0
  127. package/docs/academy/02-AdvancedTutorial/05-Launch/01-IntroducingFusion +18 -0
  128. package/docs/academy/02-AdvancedTutorial/05-Launch/02-IntroductionToPackages.md +79 -0
  129. package/docs/academy/02-AdvancedTutorial/05-Launch/02-PublishYourProject.md +230 -0
  130. package/docs/academy/02-AdvancedTutorial/05-Launch/03-RunOnACloudServer.md +279 -0
  131. package/docs/academy/02-AdvancedTutorial/05-Launch/03-SetupEnvironment.md +436 -0
  132. package/docs/academy/02-AdvancedTutorial/05-Launch/04-GraphQLNamespacing +44 -0
  133. package/docs/academy/02-AdvancedTutorial/05-Launch/05-LaunchYourBackend.md +3 -0
  134. package/docs/academy/02-AdvancedTutorial/05-Launch/06-LaunchYourFrontend.md +3 -0
  135. package/docs/academy/02-AdvancedTutorial/05-Launch/_category_.json +8 -0
  136. package/docs/academy/02-AdvancedTutorial/05-Launch/images/SSHConnection.png +0 -0
  137. package/docs/academy/02-AdvancedTutorial/05-Launch/images/homedesign.png +0 -0
  138. package/docs/academy/02-AdvancedTutorial/05-Launch/images/keyconcepts.png +0 -0
  139. package/docs/academy/02-AdvancedTutorial/05-Launch/images/tutorialschema.png +0 -0
  140. package/docs/academy/02-AdvancedTutorial/06-Authorization/Authorization.md +100 -0
  141. package/docs/academy/02-AdvancedTutorial/_category_.json +7 -0
  142. package/docs/academy/03-APIReferences/00-PowerhouseCLI.md +1 -0
  143. package/docs/academy/03-APIReferences/_category_.json +7 -0
  144. package/docs/academy/04-ComponentLibrary/01-PowerhouseDesignSystem.md +94 -0
  145. package/docs/academy/04-ComponentLibrary/02-BuildingWithScalars.md +54 -0
  146. package/docs/academy/04-ComponentLibrary/03-Scalar-Components/01-phid-field.mdx +72 -0
  147. package/docs/academy/04-ComponentLibrary/03-Scalar-Components/02-input-field.mdx +0 -0
  148. package/docs/academy/04-ComponentLibrary/04-Complex-Components/01-sidebar.mdx +36 -0
  149. package/docs/academy/04-ComponentLibrary/05-Layout-Components/01-test-toupdate.mdx +61 -0
  150. package/docs/academy/04-ComponentLibrary/06-Fragments/01-test-toupdate.mdx +61 -0
  151. package/docs/academy/04-ComponentLibrary/_category_.json +8 -0
  152. package/docs/academy/05-Architecture/00-PowerhouseArchitecture.md +50 -0
  153. package/docs/academy/05-Architecture/01-WorkingWithTheReactor.md +48 -0
  154. package/docs/academy/05-Architecture/02-ReferencingMonorepoPackages +65 -0
  155. package/docs/academy/05-Architecture/04-MovingBeyondCRUD +61 -0
  156. package/docs/academy/05-Architecture/05-DocumentModelTheory/01-WhatIsADocumentModel.md +188 -0
  157. package/docs/academy/05-Architecture/05-DocumentModelTheory/02-DAOandDocumentsModelsQ+A.md +177 -0
  158. package/docs/academy/05-Architecture/05-DocumentModelTheory/02-domain-modeling.md +103 -0
  159. package/docs/academy/05-Architecture/05-DocumentModelTheory/03-BenefitsOfDocumentModels.md +95 -0
  160. package/docs/academy/05-Architecture/05-DocumentModelTheory/05-best-practices.md +257 -0
  161. package/docs/academy/05-Architecture/05-DocumentModelTheory/_category_.json +8 -0
  162. package/docs/academy/05-Architecture/05-DocumentModelTheory/three-data-layers.png +0 -0
  163. package/docs/academy/05-Architecture/_category_.json +7 -0
  164. package/docs/academy/05-Architecture/images/image.png +0 -0
  165. package/docs/academy/06-Cookbook.md +905 -0
  166. package/docs/academy/07-Glossary.md +50 -0
  167. package/docs/bookofpowerhouse/01-Overview.md +29 -0
  168. package/docs/bookofpowerhouse/02-GeneralFrameworkAndPhilosophy.md +15 -0
  169. package/docs/bookofpowerhouse/03-PowerhouseSoftwareArchitecture.md +33 -0
  170. package/docs/bookofpowerhouse/04-DevelopmentApproaches.md +36 -0
  171. package/docs/bookofpowerhouse/05-SNOsandANewModelForOSSandPublicGoods.md +73 -0
  172. package/docs/bookofpowerhouse/06-SNOsInActionAndPlatformEconomies.md +17 -0
  173. package/docs/renown/01-intro.md +18 -0
  174. package/docs/renown/02-renown-login-flow.md +60 -0
  175. package/docusaurus +0 -0
  176. package/docusaurus.config.ts +170 -0
  177. package/package.json +50 -0
  178. package/powerhouse-docs@0.0.0 +0 -0
  179. package/sidebars.ts +33 -0
  180. package/src/components/HomepageFeatures/index.tsx +250 -0
  181. package/src/components/HomepageFeatures/styles.module.css +267 -0
  182. package/src/css/custom.css +450 -0
  183. package/src/pages/index.module.css +37 -0
  184. package/src/pages/index.tsx +42 -0
  185. package/src/pages/markdown-page.md +7 -0
  186. package/static/.nojekyll +0 -0
  187. package/static/fonts/FranieBold.otf +0 -0
  188. package/static/fonts/FranieRegular.otf +0 -0
  189. package/static/img/Powerhouse Website Drive.png +0 -0
  190. package/static/img/Powerhouse Website Storage Layer (1).png +0 -0
  191. package/static/img/Powerhouse Website Storage Layer.png +0 -0
  192. package/static/img/Powerhouse-main-light.svg +13 -0
  193. package/static/img/Powerhouse-main.svg +13 -0
  194. package/static/img/Renown Intro Diagram.png +0 -0
  195. package/static/img/Union.svg +3 -0
  196. package/static/img/academy/icons/Advanced.svg +4 -0
  197. package/static/img/academy/icons/Book.svg +5 -0
  198. package/static/img/academy/icons/Cookbook.svg +3 -0
  199. package/static/img/academy/icons/Create.svg +3 -0
  200. package/static/img/academy/icons/Data.svg +3 -0
  201. package/static/img/academy/icons/Editor.svg +3 -0
  202. package/static/img/academy/icons/Flash.svg +3 -0
  203. package/static/img/academy/icons/Launch.svg +3 -0
  204. package/static/img/academy-icon.png +0 -0
  205. package/static/img/connect-icon.png +0 -0
  206. package/static/img/connect.png +0 -0
  207. package/static/img/docusaurus-social-card.jpg +0 -0
  208. package/static/img/docusaurus.png +0 -0
  209. package/static/img/empty-background.png +0 -0
  210. package/static/img/favicon.ico +0 -0
  211. package/static/img/fusion-icon.png +0 -0
  212. package/static/img/fusion.png +0 -0
  213. package/static/img/ph-icon-light.svg +3 -0
  214. package/static/img/powerhouse-layer.png +0 -0
  215. package/static/img/powerhouse-storage-layer.png +0 -0
  216. package/static/img/reactor.png +0 -0
  217. package/static/img/renown-icon.png +0 -0
  218. package/static/img/renown.png +0 -0
  219. package/static/img/switchboard-icon.png +0 -0
  220. package/static/img/switchboard.png +0 -0
  221. package/static/img/undraw_docusaurus_mountain.svg +171 -0
  222. package/static/img/undraw_docusaurus_react.svg +170 -0
  223. package/static/img/undraw_docusaurus_tree.svg +40 -0
  224. package/static/img/video-placeholder.svg +16 -0
  225. package/static.json +7 -0
  226. package/tsconfig.json +7 -0
@@ -0,0 +1,250 @@
1
+ import clsx from "clsx";
2
+ import Heading from "@theme/Heading";
3
+ import Link from "@docusaurus/Link";
4
+ import React from "react";
5
+ import styles from "./styles.module.css";
6
+
7
+ type FeatureItem = {
8
+ title: string;
9
+ imageSrc: string;
10
+ docPath: string;
11
+ description: React.ReactNode;
12
+ };
13
+
14
+ const FeatureList: FeatureItem[] = [
15
+ {
16
+ title: "Connect",
17
+ imageSrc: require("@site/static/img/connect.png").default,
18
+ docPath: "docs/academy/Architecture/PowerhouseArchitecture",
19
+ description: (
20
+ <>
21
+ Learn about the private contributor tool Connect
22
+ </>
23
+ ),
24
+ },
25
+ {
26
+ title: "Switchboard",
27
+ imageSrc: require("@site/static/img/switchboard.png").default,
28
+ docPath: "/docs/academy/AdvancedTutorial/WorkWithData/ReadingAndWritingThroughTheAPI",
29
+ description: <>Get access to the open API interface with Switchboard</>,
30
+ },
31
+ {
32
+ title: "Fusion",
33
+ imageSrc: require("@site/static/img/fusion.png").default,
34
+ docPath: "docs/academy/Architecture/PowerhouseArchitecture",
35
+ description: (
36
+ <>
37
+ Setup Fusion as your organizations dashboard
38
+ </>
39
+ ),
40
+ },
41
+ {
42
+ title: "Renown",
43
+ imageSrc: require("@site/static/img/renown.png").default,
44
+ docPath: "/docs/renown/intro",
45
+ description: (
46
+ <>
47
+ Dive into the customizable reputation system
48
+ </>
49
+ ),
50
+ },
51
+ {
52
+ title: "Reactor",
53
+ imageSrc: require("@site/static/img/reactor.png").default,
54
+ docPath: "/docs/academy/Architecture/WorkingWithTheReactor",
55
+ description: (
56
+ <>Find out how a Powerhouse Reactor node works</>
57
+ ),
58
+ },
59
+ ];
60
+
61
+ function Feature({ title, imageSrc, description, docPath }: FeatureItem) {
62
+ return (
63
+ <div className={styles.col}>
64
+ <Link to={docPath} className={styles.featureLink}>
65
+ <div className={styles.featureContent}>
66
+ <div className={styles.featureImageWrapper}>
67
+ <img src={imageSrc} alt={title} className={styles.featureImage} />
68
+ </div>
69
+ <div className={styles.featureText}>
70
+ <Heading as="h4" className={styles.featureTitle}>{title}</Heading>
71
+ <p className={styles.featureDescription}>{description}</p>
72
+ </div>
73
+ </div>
74
+ </Link>
75
+ </div>
76
+ );
77
+ }
78
+
79
+ export default function HomepageFeatures() {
80
+ return (
81
+ <section className={styles.features}>
82
+ <div className={styles.featuresWrapper}>
83
+ {/* Learning Path Cards */}
84
+ <div className={styles.learningPath}>
85
+ {/* Get Started Card - Full Width */}
86
+ <div className={`${styles.pathCard} ${styles.fullWidth}`}>
87
+ <div className={styles.cardHeader} style={{ justifyContent: 'center' }}>
88
+ <div className={styles.cardIconWrapper}>
89
+ <img src="/img/academy/icons/Flash.svg" alt="" />
90
+ </div>
91
+ <h3 className={styles.cardTitle}>Get started</h3>
92
+ </div>
93
+ <div className={styles.cardContent}>
94
+ <div style={{ maxWidth: '960px', margin: '0 auto', textAlign: 'center' }}>
95
+ <div style={{ marginBottom: '1.5rem' }}>
96
+ <p style={{ fontSize: '1.1rem', marginBottom: '1rem' }}><strong>Welcome to Powerhouse!</strong></p>
97
+ <p style={{ lineHeight: '1.6', color: '#444' }}>As a developer, you're about to dive into a <strong>unique ecosystem built to empower decentralized organizations</strong>. Powerhouse provides the software, infrastructure, and frameworks that enable scalable network organizations to operate efficiently.</p>
98
+ </div>
99
+ <div style={{ margin: '20px 0', textAlign: 'center' }}>
100
+ <iframe
101
+ src="https://drive.google.com/file/d/17dDKy-hQeI4ZlLiUZ4xhnXL4bDhJB0N-/preview"
102
+ frameBorder="0"
103
+ allow="autoplay; fullscreen"
104
+ allowFullScreen
105
+ title="Powerhouse Introduction Video"
106
+ style={{
107
+ width: '100%',
108
+ maxWidth: '960px',
109
+ aspectRatio: '16 / 9',
110
+ borderRadius: '8px',
111
+ display: 'block',
112
+ margin: '0 auto'
113
+ }}
114
+ ></iframe>
115
+ </div>
116
+ </div>
117
+ </div>
118
+ </div>
119
+
120
+ {/* Create Cards - One in each column */}
121
+ <div className={styles.pathCard}>
122
+ <div className={styles.cardHeader}>
123
+ <div className={styles.cardIconWrapper}>
124
+ <img src="/img/academy/icons/Book.svg" alt="" />
125
+ </div>
126
+ <h3 className={styles.cardTitle}>Book of Powerhouse</h3>
127
+ </div>
128
+ <div className={styles.cardContent}>
129
+ <a href="/docs/bookofpowerhouse/Overview" className={styles.pathButton}>The Vision of Powerhouse</a>
130
+ </div>
131
+ </div>
132
+
133
+ <div className={styles.pathCard} style={{ border: '1px solid #4FC86F' }}>
134
+ <div className={styles.cardHeader}>
135
+ <div className={styles.cardIconWrapper}>
136
+ <img src="/img/academy/icons/Create.svg" alt="" />
137
+ </div>
138
+ <h3 className={styles.cardTitle}>Create</h3>
139
+ </div>
140
+ <div className={styles.cardContent}>
141
+ <a href="/docs/academy/GetStarted/ToDoList/CreateNewPowerhouseProject" className={styles.pathButton}>Build a Todo-list Document Model</a>
142
+ </div>
143
+ </div>
144
+
145
+ <div className={styles.pathCard}>
146
+ <div className={styles.cardHeader}>
147
+ <div className={styles.cardIconWrapper}>
148
+ <img src="/img/academy/icons/Advanced.svg" alt="" />
149
+ </div>
150
+ <h3 className={styles.cardTitle}>Document Model Theory</h3>
151
+ </div>
152
+ <div className={styles.cardContent}>
153
+ <a href="/docs/academy/GetStarted/DocumentModelTheory/WhatIsADocumentModel" className={styles.pathButton}>Deep Dive into Document Modelling</a>
154
+ </div>
155
+ </div>
156
+
157
+ {/* Left Column Card with 2 buttons */}
158
+ <div className={styles.pathCard} style={{ border: '1px solid #4FC86F' }}>
159
+ <div className={styles.cardHeader}>
160
+ <div className={styles.cardIconWrapper}>
161
+ <img src="/img/academy/icons/Editor.svg" alt="" />
162
+ </div>
163
+ <h3 className={styles.cardTitle}>Build User Experiences</h3>
164
+ </div>
165
+ <div className={styles.cardContent}>
166
+ <a href="/docs/academy/GetStarted/ToDoList/BuildToDoListEditor" className={styles.pathButton}>Building a Todo-list Editor</a>
167
+ <a href="/docs/academy/BuildingUserExperiences/BuildingBeautifulDocumentEditors" className={styles.pathButton}>Building Beautiful Document Editors</a>
168
+ <a href="/docs/academy/AdvancedTutorial/BuildingUserExperiences/BuildingADriveExplorer" className={styles.pathButton}>Building Custom Drive Explorers</a>
169
+ </div>
170
+ </div>
171
+
172
+ {/* Middle column with Union.svg */}
173
+ <div className={styles.middleColumn} style={{
174
+ display: 'flex',
175
+ justifyContent: 'center',
176
+ alignItems: 'flex-start',
177
+ paddingTop: '-20px',
178
+ position: 'relative'
179
+ }}>
180
+ <img src="/img/Union.svg" alt="Powerhouse Union" width="250" />
181
+ <div style={{
182
+ position: 'absolute',
183
+ top: '18px',
184
+ backgroundColor: 'white',
185
+ padding: '8px 16px',
186
+ borderRadius: '8px',
187
+ textAlign: 'center',
188
+ zIndex: 2,
189
+ }}>
190
+ <h3 className={styles.cardTitle} style={{ margin: 0 }}>Builder Track</h3>
191
+ </div>
192
+ </div>
193
+
194
+ {/* Right Column Card with 3 buttons */}
195
+ <div className={styles.pathCard} style={{ border: '1px solid #4FC86F' }}>
196
+ <div className={styles.cardHeader}>
197
+ <div className={styles.cardIconWrapper}>
198
+ <img src="/img/academy/icons/Data.svg" alt="" />
199
+ </div>
200
+ <h3 className={styles.cardTitle}>Work with Data</h3>
201
+ </div>
202
+ <div className={styles.cardContent}>
203
+ <a href="//docs/academy/AdvancedTutorial/WorkWithData/ReadingAndWritingThroughTheAPI" className={styles.pathButton}>Reading & Writing through the API</a>
204
+ <a href="/docs/academy/AdvancedTutorial/WorkWithData/WorkingWithSubgraphs" className={styles.pathButton}>Create your own Subgraph</a>
205
+ <a href="/docs/academy/WorkWithData/Analytics Engine/intro" className={styles.pathButton}>Using the Analytics Engine</a>
206
+ </div>
207
+ </div>
208
+
209
+ {/* Launch Card - Full Width with 3 column buttons */}
210
+ <div className={`${styles.pathCard} ${styles.fullWidth}`}>
211
+ <div className={styles.cardHeader} style={{ justifyContent: 'center' }}>
212
+ <div className={styles.cardIconWrapper}>
213
+ <img src="/img/academy/icons/Launch.svg" alt="" />
214
+ </div>
215
+ <h3 className={styles.cardTitle}>Launch</h3>
216
+ </div>
217
+ <div className={styles.cardContent}>
218
+ <div className={styles.buttonContainer}>
219
+ <a href="/docs/academy/AdvancedTutorial/Launch/PublishYourProject" className={styles.pathButton}>Package & Publish</a>
220
+ <a href="/docs/academy/Launch/LaunchYourBackend" className={styles.pathButton}>Launch Back-end</a>
221
+ <a href="/docs/academy/Launch/LaunchYourFrontend" className={styles.pathButton}>Launch Front-end</a>
222
+ </div>
223
+ </div>
224
+ </div>
225
+ </div>
226
+ {/* Existing Features Section */}
227
+ <h2 className={styles.sectionTitle}>Browse by host-application</h2>
228
+ <div className={styles.row}>
229
+ {FeatureList.map((props, idx) => {
230
+ return (
231
+ <div key={idx} className={styles.col}>
232
+ <Link to={props.docPath} className={styles.featureLink}>
233
+ <div className={styles.featureContent}>
234
+ <div className={styles.featureImageWrapper}>
235
+ <img src={props.imageSrc} alt={props.title} className={styles.featureImage} />
236
+ </div>
237
+ <div className={styles.featureText}>
238
+ <Heading as="h4" className={styles.featureTitle}>{props.title}</Heading>
239
+ <p className={styles.featureDescription}>{props.description}</p>
240
+ </div>
241
+ </div>
242
+ </Link>
243
+ </div>
244
+ );
245
+ })}
246
+ </div>
247
+ </div>
248
+ </section>
249
+ );
250
+ }
@@ -0,0 +1,267 @@
1
+ .features {
2
+ width: 100%;
3
+ display: flex;
4
+ justify-content: center;
5
+ align-items: flex-start;
6
+ padding-bottom: 2.5rem;
7
+ }
8
+
9
+ /* Add a wrapper class to contain and center the features */
10
+ .featuresWrapper {
11
+ max-width: 1200px;
12
+ width: 100%;
13
+ display: flex;
14
+ flex-direction: column;
15
+ align-items: flex-start;
16
+ padding: 0 2rem;
17
+ }
18
+
19
+ .featuresSection {
20
+ width: 100%;
21
+ display: flex;
22
+ flex-direction: column;
23
+ align-items: flex-start;
24
+ }
25
+
26
+ .row {
27
+ display: flex;
28
+ flex-direction: row;
29
+ justify-content: space-between;
30
+ width: 100%;
31
+ gap: 1.5rem;
32
+ padding: 0;
33
+ }
34
+
35
+ .col {
36
+ flex: 1;
37
+ min-width: 200px;
38
+ margin: 0;
39
+ padding: 0;
40
+ }
41
+
42
+ .featureContent {
43
+ padding: 0;
44
+ width: 100%;
45
+ }
46
+
47
+ .featureLink {
48
+ display: block;
49
+ width: 100%;
50
+ }
51
+
52
+ .featureImageWrapper {
53
+ width: 100%;
54
+ text-align: center;
55
+ margin-bottom: 0.5rem;
56
+ }
57
+
58
+ .featureImage {
59
+ max-width: 100%;
60
+ height: auto;
61
+ }
62
+
63
+ .featureText {
64
+ width: 100%;
65
+ text-align: left;
66
+ }
67
+
68
+ .featureTitle {
69
+ font-size: 1.2rem;
70
+ margin-bottom: 0.5rem;
71
+ }
72
+
73
+ .featureDescription {
74
+ font-size: 1rem;
75
+ line-height: 1.2;
76
+ }
77
+
78
+ @media screen and (max-width: 996px) {
79
+ .features {
80
+ padding: 1rem;
81
+ }
82
+
83
+ .row {
84
+ flex-direction: column;
85
+ gap: 2rem;
86
+ }
87
+
88
+ .col {
89
+ width: 100%;
90
+ min-width: 100%;
91
+ }
92
+
93
+ .pathRow {
94
+ flex-direction: column;
95
+ align-items: center;
96
+ }
97
+
98
+ .pathColumn {
99
+ width: 100%;
100
+ max-width: 100%;
101
+ }
102
+
103
+ .featuresWrapper {
104
+ padding: 0 1rem;
105
+ }
106
+
107
+ .sectionTitle {
108
+ padding: 0 1rem;
109
+ text-align: center;
110
+ }
111
+
112
+ .featureContent {
113
+ align-items: center;
114
+ max-width: 100%;
115
+ margin: 0 auto;
116
+ }
117
+
118
+ .featureImageWrapper {
119
+ text-align: center;
120
+ }
121
+
122
+ .featureImage {
123
+ max-width: 100%;
124
+ width: auto;
125
+ }
126
+
127
+ .featureText {
128
+ text-align: center;
129
+ width: 100%;
130
+ }
131
+ }
132
+
133
+ @media screen and (max-width: 480px) {
134
+ .features {
135
+ padding: 0.5rem;
136
+ }
137
+
138
+ .featuresWrapper {
139
+ padding: 0 0.5rem;
140
+ }
141
+
142
+ .pathCard {
143
+ padding: 1rem;
144
+ }
145
+ }
146
+
147
+ .sectionTitle {
148
+ text-align: left;
149
+ margin-bottom: 2rem;
150
+ margin-top: 2rem;
151
+ width: 100%;
152
+ padding: 0;
153
+ max-width: 1200px;
154
+ font-size: 1.5rem;
155
+ font-weight: 600;
156
+ color: var(--ifm-color-primary);
157
+ }
158
+
159
+
160
+ .learningPath {
161
+ width: 100%;
162
+ padding: 3rem 0 0 0; /* Added top padding */
163
+ margin-bottom: 3rem;
164
+ display: grid;
165
+ grid-template-columns: repeat(3, 1fr);
166
+ gap: 2rem;
167
+ max-width: 1200px;
168
+ box-sizing: border-box;
169
+ }
170
+
171
+ .pathRow {
172
+ display: flex;
173
+ justify-content: center;
174
+ gap: 2rem;
175
+ width: 100%;
176
+ }
177
+
178
+ .pathColumn {
179
+ display: flex;
180
+ flex-direction: column;
181
+ gap: 1rem;
182
+ flex: 1;
183
+ max-width: 360px;
184
+ }
185
+
186
+ .pathCard {
187
+ background: var(--ifm-color-emphasis-100);
188
+ border-radius: 8px;
189
+ padding: 1.5rem;
190
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
191
+ }
192
+
193
+ /* Added styles from MDX file */
194
+ .fullWidth {
195
+ grid-column: 1 / -1;
196
+ width: 100%;
197
+ }
198
+
199
+ .middleColumn {
200
+ display: flex;
201
+ justify-content: center;
202
+ align-items: flex-start;
203
+ }
204
+
205
+ .buttonContainer {
206
+ display: grid;
207
+ grid-template-columns: repeat(3, 1fr);
208
+ gap: 2rem;
209
+ margin-top: 1rem;
210
+ }
211
+
212
+ .cardHeader {
213
+ display: flex;
214
+ align-items: center;
215
+ margin-bottom: 1rem;
216
+ }
217
+
218
+ .cardIconWrapper {
219
+ display: flex;
220
+ align-items: center;
221
+ justify-content: center;
222
+ width: 20px;
223
+ height: 20px;
224
+ margin-right: 0.75rem;
225
+ }
226
+
227
+ .cardTitle {
228
+ margin-bottom: 1rem;
229
+ font-size: 1.2rem;
230
+ color: var(--ifm-color-primary);
231
+ display: flex;
232
+ align-items: center;
233
+ justify-content: flex-start;
234
+ margin: 0;
235
+ padding: 0;
236
+ line-height: 1.2;
237
+ }
238
+
239
+ .cardContent {
240
+ display: flex;
241
+ flex-direction: column;
242
+ gap: 0.5rem;
243
+ }
244
+
245
+ .pathButton {
246
+ display: block;
247
+ padding: 0.8rem 1rem;
248
+ background: var(--ifm-color-emphasis-200);
249
+ border-radius: 6px;
250
+ color: var(--ifm-font-color-base);
251
+ text-decoration: none;
252
+ transition: background 0.2s;
253
+ margin: 0.5rem 0;
254
+ text-align: center;
255
+ }
256
+
257
+ .pathButton:hover {
258
+ background: var(--ifm-color-emphasis-300);
259
+ text-decoration: none;
260
+ }
261
+
262
+ .pathColumnTitle {
263
+ font-size: 1.5rem;
264
+ margin-bottom: 1.5rem;
265
+ color: var(--ifm-color-primary);
266
+ font-weight: 600;
267
+ }