Assigned: Thursday, Nov 15, 2012
Status Report: Thursday, Nov 29, 2012
Due: Tuesday, Dec 11, 2012 in-class demos (12:30-3:30pm - final exam time)
Note changes to in-class demo below. -MCW 11/15
Description
The assignment asks you to finish implementation of your message board. This version requires the addition of picture upload, notification emails, CAPTCHA, and searching.
Requirements
User Avatar Picture Upload
- Users can upload an avatar during registration (and later on their profile management page)
- A thumbnail of the user's avatar is displayed in the post view (i.e., when users read posts)
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.
CAPTCHA
- 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 doesn't seem to work on mweigle418, so just use the simple CAPTCHA from http://captchas.net.
Searching
- Allow users to search for keywords in
- 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).
Grading
In-class status report (Nov 29)
- 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 Dec 11 - NEW!
- Each group will have 10 minutes for their demo
- Demonstrate all of the required features of your system
- Note that you should prepare a demo script, but you also may be asked to perform certain actions during the demo
- Show any 'extras' that you have done
- The instructor will assign 17 points based on your demo
- Do not edit the files after 12:30pm, Dec 11 - before class
Each student will grade the aesthetic appearance of the other groups’ message boards
- Email TA (and cc 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 (rounded up)
- If you do not send your grades in within 24 hours, you will lose 3 points from your assignment
Submission
- http://mweigle418.cs.odu.edu/~username/proj4/
- These URLs will be valid for all students
- If you are in a group of 2, only 1 URL will have the actual PHP, and the “other” URL will auto-redirect to the “right” URL
- -1 point if "other" URL doesn't auto redirect
Recommendation
- Debug within your group first, then ask for other groups to help debug your operations
- Your status report is for your benefit and the benefit of your peers more than for me.