Spring 2017

Lab08
Questions and Answers

Due: Thursday May 04, 2017 11:59 PM

Lab08 - Questions and Answers

Requirements

All controllers are RESTful5 pts
All appropriate validations are performed3 pts
Visitors can view subjects15 pts
Visitors can view questions within a subject10 pts
Visitors can view answers to questions within a subject5 pts
Visitors can ask questions10 pts
Visitors can answer questions10 pts
Visitors cannot edit or delete anything3 pts
Admin user can perform all visitor actions5 pts
Admin user can edit and delete subjects4 pts
Admin user can edit or delete questions4 pts
Admin user can edit or delete answers4 pts
Admin user can login3 pts
Admin user can logout3 pts
New Admin users can be created3 pts
Admin users can be edited or deleted3 pts
Application is friendly and easy to use for administrators and visitors10 pts
Total100 pts

Resources

Objective

to practice working with RESTful controllers and routes

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 should be performed. The site should look presentable and should be easy for a visitor and the administrator to use.