A user with a user role should be able to:
- Sign up using a google account
- Create, read, update and delete one’s own feedback requests
- Receive form validations when trying to create/edit feedback requests
- Add comments and replies to a product feedback request posted by others
- Upvote and downvote product feedback requests posted by others
- Sort feedback requests with the suggested status by most/least upvotes and most/least comments
- Filter feedback requests with the suggested status by category(bug, enhancement, feature)
- See the list of one’s own feedback requests
A user with an admin role should be able to:
- Sign in using a google account
- Delete any feedback requests
- Delete any comments and replies
- Block users
- Sort feedback requests by most/least upvotes and most/least comments
- Filter feedback requests by category
- Filter feedback requests by status
- Update the status of feedback requests
A feedback request must:
- Go through (suggestion, planned, in-progress, live) steps
- View the optimal layout for the app depending on the device's screen sizex
- See hover states for all interactive elements on the page
- Feedback requests, comments, and replies should be seen instantly without refreshing the page(socket.io)