I wrote this document in the process of designing a minimal blogging app on Holochain as the first step of my graduation project. This might interest you if you want to know more about how hApps are designed…
Entry Types
- Blog
- name: string
- Blog post
- owning-blog: hash-of-blog-entry
- content: string
Anchor types
- Username
Link types
- Username anchor to agent
- Agent to blog
- Blog to blog post
Validation
Blog entries
- Blog creation: name less than storage limit
- Blog editing: agent created blog; new name shorter than storage limit
- Blog deletion: agent created blog
Blog post entries
- Blog post creation: agent created owning blog; agent hasn’t deleted owning-blog; content shorter than storage limit
- Blog post editing: agent created post; agent hasn’t deleted owning-blog; new content shorter than storage limit
- Blog post deletion: agent created post
Links
- Link from username anchor to agent: agent linking is agent being linked to
- Delete link from username anchor to agent: fail
- Link from agent to blog: agent at link source created blog
- Delete link from agent to blog: fail
- Link from blog to blog post: blog post’s owning-blog is blog
- Delete link from blog to blog post: fail