Skip to content

Scope Outline

Philip Beadle edited this page Apr 10, 2020 · 2 revisions

(Scope is to build Notes App and Personas with GraphQl, Apollo & lit-element UI)

  • POC is good enough to move on, https://github.com/holochain/holochain-ide/tree/POC
  • DNA Model Builder - Builds DNA, also teaches as each part of generated code is viewable on the Entry Type Builder
  • Generated UI will be a Vue project because the Profile form already built is in Vue. Later versions will be web components.
    • Entry Type Builder
      • Specify name of Entry - auto formatted
      • Select a “skin” for entry and list of entries - lit-element web components
      • Set Permissions (Adding a Profile Type Entry enables roles based permissions)
        • Updates functions list
        • Updates permissions code
      • Manage fields list
        • name - auto-formatted
        • type: selector [String only for MVP]
        • selected type has selection of UI components
        • id, created_at, address, updated_at are in every return
          • id = address of EntryId entry for Entry, unchanging
          • created_at = timestamp of initial entry for Entry, field of EntryId
          • address = address of Entry, changes each update
          • updated_at = timestamp Entry
      • Display to developer
        • entry!
          • name:
          • link!: from & type
        • functions - these change depending on Permissions
          • create_entry(entry: Entry) —> id, created_at, address, updated_at, entry
          • Etc
      • Code Viewer
        • mod.rs
        • handlers.rs
        • permissions.rs
        • test/entry_type/index.js
      • Code Editor
        • validation.rs
      • Anchor
        • Type: list_entrys
        • Text:
      • Optional Agent specific list
        • link entries to AgentId
        • Anchor
          • Type: list_entrys
          • Text: ${agent_id}
      • Test and Demo data table
        • Rows of suitable data that Agent would enter into App
    • Anchor Type Entry
      • Not configurable by developer for MVP
      • Added by options in linked Entry
      • Auto adds Root Anchor to model
    • Profile Type Entry
      • Profile Spec Builder
        • Part of Personas App see above
      • Anchor
        • Type: profile
        • Text: ${agent_id}
      • Doesn’t need an EntryId as the anchor is the Id
      • No permissions management as only the Agent can make changes
      • No need for skin as it uses Personas Profile Manager
      • Option
        • Agent can fill out profile
        • Agent must have profile
          • Separate App & DHT to store sensitive Agent profile
            • Eg address info needed by eCommerce site to deliver
            • This info should not be in the DHT of the eCommerce site as everyone will have access to it
          • Acts as a proxy cache for mapped field values
          • UI for “Admin” of App will be a list as only Agent updates information
    • Layout of model on svg canvas.
      • Algorithm for laying out multiple linked entry types and anchors
  • Holochain Apps List - Use Modeller to build DNA
    • Create
      • Separate DHT for each Holochain App (Useful for other apps like a chat so each “room” can be completely private)
    • Modify
    • Remove
    • List
    • Zomes
      • Create
      • Modify
      • Remove
      • List
      • Entry Types
        • Create
        • Modify
        • Remove
        • List
      • Anchors
        • Create
        • Modify
        • Remove
        • List
      • Profile Entry Types
        • Create
        • Modify
        • Remove
        • List
Clone this wiki locally