Sprint 4 Plan - Pancia/UniBull GitHub Wiki

May 28 - June 7

Evan Hughes Anthony D’Ambrosio Neeraj Mallampet

UNiBULL Sprint 4 Plan

Minimum Sprint Goals

Finish Classroom Forum

  • √ Sign up as Instructor or Student (for email: http://www.nodemailer.com/)
  • √ Replies-to-replies
  • Edit or Delete
  • Endorsing
  • √ Flagging
  • Dining Hall Menu - Rating System
  • UI Improvements

Maximum Sprint Goals (in order of importance)

  • Forum
    • Email Confirmation
    • Saving
    • Tagging/Searching
  • Dining Hall Menu
    • Comments
  • Bulletin/Events (File storage still in question - host images on imgur?)
  • Forum
    • Classroom Resources (if file storage works out)
    • Upvoting

Backlog

  • Forum
    • Calendar (GCal?)
    • Active classes on search list (or a tag for old)
    • Able to view (but not post) old forums
  • Dining Hall Menu
  • Notification system (i.e. this DH is serving this meal today!)

User Stories & Tasks (Minimum Sprint Goals)

Forum:

As a user:

  • I want the option of signing up as a Student or an Instructor
    • Add checkbox/dropdown to Sign Up indicating which
    • Add role attribute to DB
    • If signing up as an instructor, send email to [email protected]
  • I want to be able to reply to a reply
  • 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/replies
    • Add edit button to change post content
    • Add remove/delete button to remove post
    • make a post Rest call to server and remove/change content in DB appropriately
    • Hide delete button on posts/replies that don’t belong to current user
  • I want to be able to flag content as inappropriate
    • Add report/flag button
    • Minimize content if x(%?) amount of people flag as inappropriate
      • Hide title and display message indicating flagged status
      • 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

As a Student:

  • I want to avoid having duplicate classrooms (use UUID)
    • 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 an Instructor:

  • I want to be able to reply to posts and answer questions (name highlighted as instructor)
    • 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 …”

Dining Hall Menu

  • I want to be able to rate dining hall items
    • Add a rating system (0-5 Stars )
    • Have clickable stars next to dining hall items

User Stories & Tasks (Maximum Sprint Goals)

  • Forum
    • I want to be able to save posts for later
      • Add save button
      • Store post ID’s in user’s saved list
      • Show saved posts in user’s profile
    • 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”
  • Dining Hall Menu
    • I want to be able to leave comments on food items
      • Show comment box button/box for each item
      • Separate comments by dining hall (as each dining hall may cook or prepare the same “item” differently)
  • Bulletin
    • I want to have a place where I can upload and view events near me
      • Create bulletin page
      • Add upload form
      • Bulletin REST endpoints
  • Forum
    • I want to be able to upload and view class documents
    • I want to be able to upvote a thread or reply

User Stories & Tasks (Backlog)

  • Forum
    • I want to have a calendar to keep track of my daily events such as due dates, club events, etc.
    • I want the most active classes to be on my search list
    • I want to be able to view (not edit) old forums
    • Keep old classrooms in DB
    • Remove posting functionality from old classrooms
  • Dining Hall Menu
    • I want to be notified when my favorite meal is being served at the dining hall
    • I want to be able to tell if it’s a special menu, eg: if it’s meatless monday