Rails II
3 credits
All controllers are RESTful | 5 |
All appropriate validations are performed | 3 |
All models and controllers are tested | 5 |
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 anything | 3 |
Admin user can perform all visitor actions | 5 |
Admin user can edit and delete subjects | 4 |
Admin user can edit or delete questions | 4 |
Admin user can edit or delete answers | 4 |
Admin user can login | 3 |
Admin user can logout | 3 |
New Admin users can be created | 3 |
Admin users can be edited or deleted | 3 |
Application is friendly and easy to use for administrators and visitors | 10 |
Total | 100 pts |
To practice working authentication
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.