Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FP Chatbot on Telegram - View Posts flow #4

Closed
anjanarao24 opened this issue Jul 23, 2020 · 6 comments
Closed

FP Chatbot on Telegram - View Posts flow #4

anjanarao24 opened this issue Jul 23, 2020 · 6 comments
Assignees
Labels
ready for engineering story is ready to play after PM review

Comments

@anjanarao24
Copy link
Collaborator

anjanarao24 commented Jul 23, 2020

User Story 1 : As a FightPandemics chatbot user, who is logged in I want to view all posts relevant to my criteria so I can select the most relevant ones to engage with.

Use Case 1 :

Wireframe:
image

Acceptance Criteria:

  • User sees all relelvant results OR sees no results.
  • Each result has a "View Post" option.
  • User cannot delete or edit the posts.
  • If user does not see any relevant posts suitable to the topic he is looking at he can go ahead and Create a New post by clicking on "Create Post " button

Wireframe for the flow : HERE

@omerkhan3
Copy link
Collaborator

omerkhan3 commented Jul 27, 2020

User Story 2 : As a FightPandemics chatbot user who is logged in, I want to view a specific post from the list of results so I can engage with it and connect with the poster.

Use Case 1:

Wireframe:
image

image

Acceptance Criteria:

  • User sees option to "View Author Profile", "Leave Comment", "See Comments" on the post.
  • User cannot edit or delete the post.
  • User is able to leave a comment on the post.

Wireframe for the flow : HERE

@omerkhan3
Copy link
Collaborator

omerkhan3 commented Jul 30, 2020

API Integration

View Posts Feed: GET /api/posts/ (by filter parameter)
View Individual Post: GET /api/posts/{postId}

@anjanarao24
Copy link
Collaborator Author

anjanarao24 commented Aug 14, 2020

User Story 3 : As a FightPandemics chatbot user, who is not logged in I want to view all posts relevant to my criteria so I can select the most relevant ones to engage with.

Use Case 1 :

User navigates through Offer Help (#2) or Receive Help (#1) flows to get to post results.
Wireframe:
image

Wireframe for the flow : HERE

Acceptance Criteria:

User sees all relelvant results OR sees no results.
Each result has a "View Post" option.
User cannot delete or edit the posts.
If user does not see any relevant posts suitable to the topic he is looking at he can click on "Create Post " button and he will be prompted to Login
Wireframe : HERE

@anjanarao24
Copy link
Collaborator Author

User Story 4 : As a FightPandemics chatbot user who is not logged in, I want to view a specific post from the list of results so I can engage with it and connect with the poster.

Use Case 1:

User navigates through User Story #1 (#4).
User selects a specific post on the feed by select "View Post".
Wireframe: HERE

Acceptance Criteria:

User sees option to "View Author Profile", "Leave Comment", "See Comments" on the post.
User cannot edit or delete the post.
User can click on leave a comment on the post.He will be prompted to login before he can continue to Leave a comment

Wireframe : HERE

@CamilaArias
Copy link

Technical details

There are two big functions here, they are:
Show the result of the search (#4, User Story 1)
Show an specific post, chosen from the results (#4, User Story 2)

User Story 1:

As seen on wireframes above, this is basically a message with a keyboard, and the user can interact in these ways:

  • The click on a post and we move to User Story 2
  • They click "Create post" and we move to Create post flow (different ticket)
  • They click on the right arrow button to load more posts
  • They click on the left arrow to load less posts

There are 3 main things at play here:

  • Pagination: We need to get posts again every time we load more or less posts (we need a variable to track where we are). Nothing should happen if there no previous posts to load, or if there are no more posts to load.
  • Message: The message includes 2 variables: Number of posts (which needs to be added to the API), and the information of the posts (which we get from the API call that is made in between this, and the end of request/offer help flow, and then we keep making it with a different value for skip, depending on user navigation). Which group of posts we are showing will also be updated depending on user navigation.
  • Keyboard: This needs to be set up so that Create Post, takes you to that flow, that pagination buttons work as described above, and that each number option takes you to the function for User Story 2 (maybe storing the id/content of the post selected to be accessible from the function that takes care of showing specific post).

Things that we need to be able to do for this to work:

  • Understand how to make the bot update the same message, instead of sending a new one.
  • Extract and concatenate the variables we need from the API response with the text, and send this as a message.
  • Load more or less posts depending on which button you click, and update the message with the new information.
  • Build the keyboard with the buttons we need. Take into account we might have anywhere between 1 and 10 posts to show, and we need a keyboard for each case.
  • When clicked on a numbered button, test that the specific post id gets passed correctly to the function that will need it in order to get the post information and the comments.
  • Create post button should trigger the create post function, which starts an unrelated flow.

User Story 2:

This is a message with the information of the post we've chosen, and the user can:

For this we need to be able to do something from the previous story:

  • Extract and concatenate the variables we need from the API response with the text, and send this as a message.
  • Make sure that for each of those functions we're passing the post we're viewing, to make the required API Calls.

User Story 1 can be divided in:

  • We're able to get the posts we want from the API, extract information, and put it in a message.
  • We add the keyboard and we make pagination work, loading the right posts, and updating the message on the fly.
  • We make Create button trigger that function, and we make each button trigger the function for User Story 2 with the post it's related to.

@kumudchauhan
Copy link
Member

completed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready for engineering story is ready to play after PM review
Projects
None yet
Development

No branches or pull requests

4 participants