Feature List - TranquilTort/Ask-Meeple GitHub Wiki

Feature List for board gaming Ask-Meeple.

Account Creation

  • Optional authentication for access (guests can view content).
  • Users are prompted to login if interacting with features that require authentication.
  • Those features would be asking a question, commenting, or posting a review.
  • Check each time for authentication when doing one of the three above things.
  • Login prompt displays form that takes in a username and password.
  • Separate pages for login and create new account.
  • Login page will have a link to 'create new account' page (not redirect to).
  • Once logged in, user can go to that user's homepage with that user's posts.

Post Creation CREATE

  • Requires login.
  • Redirects to a form that requires a post title, post body, optional post tags, image URL
  • Upon post, user is directed to a page with feed of posts.
  • Viewing posts does not require login.

EDIT

  • Requires login.
  • User must be original poster to edit the post.
  • Redirects to a form with fields filled in from original post.

DELETE

  • Display a button for the original poster
  • This will delete the post and all comments associated with that post
  • Clicking on button will have a pop-up for confirmation.
  • After deleting from database, remove from HTML.

Commenting on Posts CREATE

  • Requires login.
  • Displays comments form and comments underneath post when comment button is clicked.
  • Post comment upon clicking on 'Submit' button.
  • Viewing comments does not require login.

EDIT

  • Requires login.
  • User must be original poster to edit the post.
  • Displays a form underneath that comment, pre-filled in with existing values.

DELETE

  • Display a button for the original creator of comment.
  • Ask for confirmation when choosing to delete.
  • This will delete the comment, no changes to the post's content.

Searching by title/tag

  • On main page, have a search bar on the navigation bar (navigation bar will be on every page).
  • It will be just an input field and a button.
  • Only return results that directly match a string or tag.
  • After a search, redirects user to a page with search results.
  • Does not require login to search.

Grouping by tag

  • Have a sidebar with clickable tags.
  • Clicking a tag will result in a search, using that tag as the search term.
  • Tags will be defined beneath specific posts, as specified by the user making the post.
  • On homepage display, questions/posts will be ordered by most recent.

Bonus Features

Voting on Posts

  • Requires login.
  • Thumbs up for upvote, thumbs down for downvote
  • Points will be displayed.
  • Search will be ordered by upvote/downvote.

Voting on Comments

  • Requires login.
  • Thumbs up for upvote, thumbs down for downvote
  • Points will be displayed.

Replies to Comments

  • Requires login. (discuss this after other implementations)