CGT 456 Hypermedia Authoring II
Project 2 (Frequently Asked Questions Management System) Due April 4 before 4:00 PM [
info ]
OBJECTIVES
- Demonstrate understanding of database connectivity in ASP.NET.
- Demonstrate understanding of ASP.NET controls and their functionality .
- Demonstrate ability to use Code-Behind pages.
- Apply aesthetic talents to a web application.
- Demonstrate ability to design effective navigation structures.
- Demonstrate ability to consider usability issues in a web application.
- Apply knowledge of logic to a project scenario.
- Demonstrate understanding of efficient coding methods.
ABOVE & BEYOND
- Add a search feature.
- Search by keyword, title, date, requested by, answered by, etc., using a form text field or drop downs
- Return only relavant results.
REQUIREMENTS
- Redo this site: http://www.rjglotzbach.com/faq/
- This site currently has very minimal functionality, however it has potential for much more.
- This site will move to a Purdue server soon.
- Download the SQL script here: project2.sql [right-click - save target as...]
- Open Query Analyzer
- Load this SQL script
- Click the 'Execute Query' button
- You are done with this script
- Here is an ERD of what you just created.
- Create a SQL subdirectory in your project2 folder.
- You can modify the existing DB if you choose to.
- You must save the final SQL script (.sql) (whether modified or unmodified) in the SQL folder.
- If you modify the DB, you must provide the correct SQL script for those modifications.
- Code-Behind
- All C# should reside in the .cs Code-Behind files.
- Questions
- Add additional questions / responses to the list for testing & viewing purposes.
- Browse Mode
- Provide navigation similar to what already exists.
- Provide functionality similar to what already exists.
- Allow a user to search by category
- Searching by category displays only those questions in that category
- Each FAQ must have:
- Question
- Answer
- Date Posted
- Last Modified
- Keywords
- Requested By
- Answered By
- A link at the bottom to email the person who answered the question.
- Enter an FAQ
- Allow a user to enter a new FAQ
- Force them to choose a category (not ALL)
- Force them to enter their name and email address
- Enter a Question
- Allow them to enter HTML
- Upon submitting the form, you will need to handle the HTML tags. You may need to convert them
- i.e.: "<br>" becomes "<br>"
- CategoryAdmin Mode
- Provide a login / password area
- This person can only answer questions in the category they are assigned to
- Provide a menu with at least the following links:
- Logout
- Logs the user out, brings user to default.
- New FAQ
- Takes user to a page that allows them to enter a new FAQ
- Similar to browse mode.
- Update FAQ
- Autopopulates a form with existing data, allows the user to change and save it.
- Provide functionality to delete the FAQ.
- Browse
- Takes user to default, but maintains the menu (because they are logged in).
- Admin Mode
- Provide a login / pasword area.
- Can do the above plus more.
- Provide these additional links in the menu:
- Update Category
- Autopopulates a form with existing data, allows the user to change and save it.
- Provide functionality to delete the Category.
- Update User
- Autopopulates a form with existing data, allows the user to change and save it.
- Provide functionality to delete the user.
- Add User
- Takes user to a page that allows them to enter a new CategoryAdmin.
DELIVERABLES
You are to deliver the following copies of the project:
- One finished copy in your share space on the server. Do not modify the files after the due date/time. We will check the timestamp.
- Send a professional email to your instructor containing:
- Your full name
- Your course number
- Link to your project (so that it opens in a web browser)
GRADING CRITERIA
If the project is not functional (does not work), then your project grade starts at 50%. This is a professional project; our company will not accept partial work. Late work will not be accepted. (In the real world, you would not get paid for a project you did not complete. In our world, you start at 50%)
- 30% Aesthetics & Usability
- (Professional, originality, creativity, navigation, usability, etc.)
- 60% Coding, Logic, & Efficiency
- (Does not crash, most efficient programming method, proper indentation, neatness, free from errors, correct logic, security, follows typical coding standards, apparent planning, etc.)
- 10% Commenting
- (In general, one line of comment per line of code)
Total Possible Points: 100
CGT 456