DESIGN SPECIFICATIONS: Channels feature
API Endpoints required for channels feature:
create channel (arguments: channel title - string, channel tags - string containing hashtags separated by commas)
-
creates database entry containing channel title and tags for the channel
edit channel (arguments: channel title - string, channel tags - string containing hashtags separated by commas)
-
edits existing database entry of channel title to have new set of tags specified by other argument
delete channel (arguments: channel title - string)
-
removes existing database entry of channel title
retrieve channels (arguments: user name - string)
-
returns all channels registered for that username, in a list, separated by commas
API Endpoints required to change:
create post:
-
must add a channel title field, that will always be required when posting to this API endpoint. -
when no channel title is specified, the default channel title is '#untagged'
retrieve posts:
-
must add new version of this function that supplies a channel title. all posts that this returns, in the same format as any other timeline request, will be from that channel of the specified users timeline.
follow user:
-
must add new version of this function that specifies one or more of the users channels. users that follow a user using this function will only receive posts of a channel that they have subscribed to
other changes:
-
bio / user profile pages must be altered to show a list of channels -
user profile pages should allow you to click a channel to see all posts that user has created under that channel -
any post that replies to a post will automatically inherit the hidden hashtags of the post being replied to, thus automatically falling under that channel for the purposes of sorting, muting and other features.
Edited by hoodieak