Useful Links

Project 4: Searching, Notification, and CAPTCHA

Assigned: Thu, Apr 11, 2013
Status Report: Thu, Apr 18, 2013
Due: Thu, May 9, 2013—in-class demos


The assignment asks you to finish implementation of your message board. This version requires the addition of picture upload, notification emails, CAPTCHA, and searching.


User Avatar Picture Upload

Post Picture Upload

  • Allow users to upload multiple pictures with their postings
    • # of pictures per message allowed is set by the admin
    • make user earn increasing number of pictures according to status (e.g. freshman = 1, junior = 3, senior = max)
  • If the user (reader) is logged in:
    • show thumbnails of the images
    • clicking on a thumbnail brings up the full size image in a separate window/tab
  • If the user (reader) is not logged in:
    • show some indicator that thumbnails exist (i.e., placeholder thumbnail image)
    • clicking on a thumbnail “placeholder” brings up a log-in page in the same window
    • note that if you have chosen to not allow guests to read posts, this doesn't apply to you

Email Notification

  • Allow users to specify “notification” preferences on their profile management page
  • The user can specify to receive an email when:
    • a post with a certain set of keywords is made (full boolean operators)
    • any post is made by a certain user
  • The message board sends the email, along with a description of the condition that was met, and a link to the “location of interest” in the message board.


  • Registering users must solve a simple CAPTCHA in addition to the email confirmation process used in Proj3.
  • Notes:
    • The CAPTCHA can occur anywhere in the registration process, but it is probably best to put it towards the beginning.
    • reCAPTCHA might not work on sainsworth418, so just use the simple CAPTCHA from


  • Allow users to search for keywords in
    • all forums
    • single forum
  • Allow users to search for all posts by a particular user
    • can be free text search, or pull down menu / pick box, or ...
    • also provide choice between all forums or single forum
  • Searches must allow full MySQL boolean operators (+,-,””, etc)
  • Show “where” result found (using breadcrumbs, hierarchy, ...)

Full Functionality

Your final message board should allow all of the functions of a standard message board. All requirements from previous assignments will be re-evaluated.

Populate your message board!

Your final message board must have some real content (not just "This is a test!" messages).


In-class status report (Apr 11)

  • 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”
  • Questions for your audience

In-class demo on (May 9)

  • Demonstrate all of the required features of your system.
  • Show any 'extras' that you have done.
  • Instructor will assign 17 points based on a detailed examination after the class.
  • Do not edit the files after midnight!

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

  • Email me a score of 0–3.
    • valid scores: 0, 1, 2, 3 (i.e., no decimal points).
    • you must not give every group a grade of 3 (this will be treated as if you did not submit the evaluation).
  • Each group will receive the average value.
  • If you do not send your grades in within 24 hours, 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 April 04, 2013, at 02:19 PM