Back Channel Application.
-
Academic Project for Object Oriented Languages and Systems course at NCSU.
-
To enable an instructor to communicate with student during a class through a forum-like BackChannel.
Features
-
The homepage of the app should provide the following options:
○ A new user should be able to create an account by filling out a form ○ An existing user should be able to login ○ All users (new and existing) should be able to search by user or content or category
-
A logged-in user should be able to do the following:
○ Create a new post and specify the category to which it belongs (similar to tagging) ○ Comment on a post (but not to a comment; i.e., only to a depth of 1) ○ Vote for a post (by someone else) ○ Vote for a comment (by someone else) ○ Edit their own post/comment ○ Delete their own post/comment
-
When a user logs in, the list of posts should be displayed
-
When a particular post is clicked on
○ the number of votes for the post should be displayed next to it ○ all the comments for the post should be displayed below it with the number of votes for each comment being displayed next to the comment
-
The following restrictions apply:
● A user cannot vote for his/her own post/comment ● A user cannot vote for the same post/comment more than once ● The way the number of votes is displayed depends on whether the logged-in user has voted for that post/comment. If the number of votes for a post/comment is 7 and ○ the logged-in user has not voted for that post/comment, “7 people voted”should be displayed ○ the logged-in user has voted for that post/comment, “You and 6 other people voted” should be displayed ○ These should be hyperlinks and clicking on them should display the names of people who voted
-
The posts should be displayed based on when they were last modified, with the one that
was modified last being on top. The creation of a post, a comment, a vote for a post/comment should all be considered as modifications to the post
-
A user who is an admin sees an interface that is different from what other users see. An
admin should be able to do the following: ○ See the list of users with their credentials ○ Assign the role of admin to users who have an account but no admin rights ○ Revoke the role of admin from other admins ○ Create new categories for posts ○ Delete existing categories ○ Delete posts/comments ○ Delete users ○ View reports on post activity, including number of votes for each post such that it is possible to use this report to assign grades