Useful Links

Project 2: Expanded Message Board Features

Assigned: Thu, Feb 21, 2013
Status Report: Thu, Mar 7, 2013
Due: Thu, Mar 21, 2013—in-class demos


The assignment asks you to build upon the basic message board that you built for Project 1. This version requires several additional features, including roles (admin, moderator, etc.), thread support, multiple forums, and pagination.



Users can now have roles, which are separate from a user’s identity

  • admin: superuser for the message board — if there is a function that is possible to do through your web interface, then admin has that capability.
  • moderator: less powerful than the admin, but more powerful than regular user (separate moderator functionality will arrive later).
  • user: a regular user.
  • The role must be visually displayed for the user and all other users to see
  • sainswor = admin, scott = moderator
  • Other users may have admin or moderator roles


  • Admin must have its own interface/page from which to perform message board functions.
    • Does not preclude context-sensitive functionality elsewhere in the message board, but there must be an “admin home page” from which all message board things are possible
    • Message board can have 0 moderators, but must always have at least 1 admin.
  • Users have a "remember me?" or "stay logged in" option when logging in.
    • Example:
    • Server will send a cookie to the client so the user will automatically be logged in if they return to the message board in, say, 5 minutes (a real value would be longer)
  • Explicit “log out” function that terminates the current session & the “remember me” cookie

Thread Support

A thread is a message and all of its associated replies (and replies to replies to replies...). There are many different display models possible.

List of Threads in a Forum Examples:

List of Messages in a Thread Examples:


  • Choose and implement a style for the display of threads and messages.

Multiple Forums

A forum is a sub-topic relevant to the entire message board (e.g., separate forums for "Good Eats" and "Recruiting" on the LSU sports message board).


  • Your message board must support multiple forums.
  • Administrator can add/delete forums


Administrator can set how many messages/replies to view on a single “page” (default = 5). See threading examples for pagination examples.


  • Users must have ability to paginate through a forum.


In-class status report (Mar 7)

  • Binary, either 0 or 3 points
  • Attendance is mandatory
  • 3-4 minute presentation per group
  • Slides or appropriate digital and presentable alternative
  • Status, problems, solutions, concepts, “to dos”
  • Show us the message board(s) that serves as your design inspiration
  • Questions for your audience

In-class demo (Mar 14)

  • Order of the demos will be chosen at random.
  • everyone should be prepared to demo on Mar 14.
    • no code is to be edited after midnight on Mar 14.
  • Demonstrate all of the required features of your system.
  • Show any 'extras' that you have done.
  • Tell us the division of labor (who did what).
  • Demo must use the version available on sainsworth418 – no magic laptops!
  • 5 minutes max – practice your demo ahead of time.
  • Will assign 17 points based on a detailed examination after the class.

Each student will grade the aesthetic appearance of the other groups' message boards

  • Email me a score of 0-3 with the subject line "CS 418/518 Project 2 Eval".
  • Put the scores for all groups in a single email.
  • Each group will receive the average value (rounded up).
  • If you do not send your grades by 11am on Fri Mar 15, you will lose 3 points from your assignment.

Grades should be available within one week



  • Debug within your group first, then ask for other groups to help debug your operations.
  • Your status report the week before the due date is for your benefit and the benefit of your peers more than for me.

History Print Recent Changes Search

Page last modified on February 21, 2013, at 06:54 PM