-
Notifications
You must be signed in to change notification settings - Fork 3
User Stories
KN edited this page Oct 27, 2022
·
31 revisions
Current 23/43
NOTE:
+ The US we've already DONE
- The US we haven't done yet- #### .
+ * I want a consistent identity per server.
+ * I want to make public posts.
+ * I want to edit public posts.
+ * posts I create can link to images.
+ * posts I create can be images.
- * posts I create can be private to another author.
- * posts I create can be private to my friends.
+ * posts I make can be in simple plain text.
+ * posts I make can be in CommonMark.
+ * I can share other authors’ public posts.
+ * I can re-share other author’s friend posts with my friends.
- * I want to pull in my GitHub activity to my “stream”.
- * I want to post posts to my “stream”.
+ * I want to delete my own public posts.
- * I want to befriend local authors.
- * I want to befriend remote authors.
- * I want to feel safe about sharing images and posts with my friends – images shared to friends should only be visible to friends. [public images are public]
- * when someone sends me a friends only-post I want to see the likes.
+ * Comments on friend posts are private only to me the original author.
- * I want un-befriend local and remote authors.
+ * I want to be able to use my web-browser to manage my profile.
+ * I want to be able to use my web-browser to manage/author my posts.
+ * other authors cannot modify my public post.
+ * other authors cannot modify my shared to friends' posts.
+ * I want to comment on posts that I can access.
+ * I want to like posts that I can access.
+ * my server will know about my friends.
- * When I befriend someone (they accept my friend request) I follow them, only when the other author befriends me do I count as a real friend – a bi-directional follow is a true friend.
- * I want to know if I have friend requests.
+ * I should be able to browse the public posts of everyone.
- * I want to be able to make posts that are unlisted, that are publicly shareable by URI alone (or for embedding images).
- #### .
+ * images can be hosted on my server.
+ * I want to host multiple authors on my server.
+ * I want to share public images with users on other servers.
+ * I want to be able to add, modify, and remove authors.
- * I want to OPTIONALLY be able to allow users to sign up but require my OK to finally be on my server.
- * I don’t want to do a heavy setup to get the posts of my author’s friends.
- * I want a restful interface for most operations.
- * I want to be able to add nodes to share with.
- * I want to be able to remove nodes and stop sharing with them.
- * I can limit nodes connecting to me via authentication.
- * node-to-node connections can be authenticated with HTTP Basic Auth.
- * I can disable the node-to-node interfaces for connections that are not authenticated!
- Author
- makes posts
- makes friends
- befriends other authors
- likes posts
- comments on posts
- a generally nice person
- Server Admin
- manages a node
- allows people to sign up
- responsible for private data :(
- Follow
- Friend another author and they accept the friend request
- They will send their posts to your inbox
- Friend
- Someone who follows you.
- True Friend
- Bidirectional friendship.
- Real Friend
- True friend
- Server
- a host that hosts authors and vouches for them
- Restful service
- The model of the service and its API
- UI
- The HTML/CSS/JS coated version user interface
- Public Post
- this is a post that will show up publicly.
- it has a public URL
- anyone can see it
- Public posts can be liked
- public posts can have comments from friends
- Friend Post
- this is a post that is shared to friends (followers)
- since it is sent, it is a message and not changeable
- Friend posts can be liked
- Friend posts can have comments sent back to the author via the author's inbox
- Inbox
- This is what a READER or USER of the social network has. They make friends, and friends send objects to their inbox.
- This forms the backbone of the timeline of the social media user.
- This receives likes and comments.
- Remote
- A node to node connection. Requests from another node. HTTP Basic Auth authenticated.
- Local
- A local user accessing the REST API. Likely will use their cookie-auth, basic auth, or token auth. Local usually implies you check whether or not the user should have access. For instance local API access to the inbox should be limited to only that authenticated authors---don't snoop!