Features List - Pancia/UniBull GitHub Wiki
User Stories (Forum):
As a student:
- I want to be able to ask questions by posting to forums
- Create an input text field
- Create a post button
- On post button click, make a post Rest call to server and store question in DB appropriately
- I want to be able to reply to posts and answer questions
- Create a reply button
- Create a reply input field
- On reply click, make server call to add reply within forum post
- I want to avoid having duplicate classrooms
- Check if user inputted class is in DB
- if not in DB, create a class
- if in DB, don’t create a class and display appropriate message
As a professor:
- I want to be able to reply to posts and answer questions (highlighted as professor’s post)
- Create a reply button
- Create an input text field
- On reply button click, make a post Rest call to server and store reply in DB appropriately
- I want to be able to endorse posts as “good”
- Create button to endorse post
- On endorse post click, add footnote “endorsed by …”
As a user:
- I want to be able to browse the forum.
- On user login, give users access to the appropriate forum for their viewing pleasure :)
- I want to be able to edit or remove my posts
- Add edit button to change post content
- Add remove button to remove post
- make a post Rest call to server and remove/change content in DB appropriately
- I want to be able to flag content as inappropriate
- Add report button
- Minimize content if x amount of people flag as inappropriate
- notify moderator/administrator so they can take appropriate action (delete, redeem, etc)
- make a post Rest call to server and store attributes in DB appropriately
- I don’t want to see inactive (not necessarily old) classrooms when searching
- Check for activity on a classroom
- Hide classroom from search if inactive
- I want to be able to view (not edit) old forums
- Keep old classrooms in DB
- Remove posting functionality from old classrooms
- I want to be able to tag posts as a certain category (discussion, homework, study guide)
- Add tag field to posts
- Design list of categories
- Add tag selection during process of creating forum post
- I want to be able to search posts by title/content/tags
- Add search bar
- Add syntax for searching by title/content/tags, eg:
- “#tag1 #tag2” OR “tag:asdf tag:fdsa”
- “$title” OR “title:asdf”
- “content”
- I want to be able to star/save posts so I can view them later more easily
- Add star functionality to each post
- Save data to user information
User Stories (Resources):
As a user:
- I want to be able to upload notes/resources
- Add an upload document button
- When clicked, show window/dialog to choose a document
- On submit, do some validation/pre-processing
- limit amount of resources user can upload to x amount per day
- If validation passes, send data to correct REST endpoint
- I want to be able to download/view resources
- For each resource, have it be a link
- When the link is clicked, ask for open or download
- If open, then open it the resource appropriately, eg:
- pdf => open it in the browser
- doc => download and open with default app
- if not openable, ask for location where to save
- If download, prompt for location
- I want to be able to flag resources as inappropriate or irrelevant/non-useful
- Add flag button by each resource
- Keep UI/design similar to that of flagging a post
- See post flagging behavior for more detail
- I want to be able to view resources by category (homework/notes/other)
- Add header dividers for each category
- Change uploading so as to require the specifying of the category
User Stories (Calendar/Sidebar):
As a user:
- I want to be able to view upcoming events/due dates
- Create a calendar
- Query the DB to get all the user’s events
- Let calendar show events
- I want to be able to add items to the calendar (with approval by x amount of other users)
- Add capability to update calendar with events
- Post event to forum for approval
- Add approval capability to forum posts classified as calendar/agenda items
- I want to be able to view the calendar as a calendar or agenda
- Design separate views for events/due dates/etc
- Add button for switching between calendar or agenda (list) view
- I want to be able to have a personal calendar that differentiates from classroom specific calendars which I have complete control over
- Have a “My Calendar” link to personal calendar
- Have calendars specific to classrooms in sidebars
- I want to be able to add classroom calendar items to my personal calendar