Spring 2012

Lab03
Questions and Answers

Due: Thursday March 15, 2012 11:59 PM

Lab03 - Questions and Answers

Requirements

All controllers are RESTful5 pts
All appropriate validations are performed3 pts
All models and controllers are tested5 pts
Visitors can view subjects 10 pts
Visitors can view questions within a subject 10 pts
Visitors can view answers to questions within a subject 5 pts
Visitors can ask questions 10 pts
Visitors can answer questions 10 pts
Visitors cannot edit or delete anything3 pts
Admin user can perform all visitor actions5 pts
Admin user can edit and delete subjects 4 pts
Admin user can edit or delete questions4 pts
Admin user can edit or delete answers 4 pts
Admin user can login3 pts
Admin user can logout3 pts
New Admin users can be created3 pts
Admin users can be edited or deleted 3 pts
Application is friendly and easy to use for administrators and visitors10 pts
Total100 pts

Resources

Objective

To practice working authentication

Instructions

For this lab you will be creating a web application that will allow people to ask and answer questions. The application should allow anyone who comes to the site to post questions in any of the predefined subject areas that are available. Anyone who would like can also come to the site, view questions on any subject, and provides their answer to the question.

The subject areas should be defined by the site administrator. The admin user should be able to create new subjects and edit or delete existing subject. Anyone who comes to the site will be able to view the subjects that are available.

"Inside" each subject there can be any number of questions. Anyone visiting the site can view and ask questions but only the site admin can edit or delete questions.

Each question can have any number of answers provided for it. Again, anyone visiting the site can view or provide answers to questions but only the site admin can edit or delete answers.

For the lab, please setup the admin account with username "admin" and password "admin" so that I will be able to check the admin functionality of your lab when I grade it.

All appropriate validations and tests should be included. The site should look presentable and should be easy for a visitor and the administrator to use.