Questions and Answers

100 points

Questions and Answers

Requirements

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