University of Canberra
Faculty of Education, Science, Technology and Mathematics
Web Design and Programming (7175 & 6691)
Submission date: 23:55 Sunday 05/11/2017 (Week 13)
Type: Individual assignment
Total mark: 15
Proportion of unit assessment: 15%
Submission: Submit via Moodle the following
1. A .zip file that contains your web application project and database file.
2. Usernames and passwords for one web manager and one registered user.
Late submission: 5% of the total mark (i.e., 0.75 mark) per day.
Tasks: Design and implement additional web pages to the website that you have developed for Assignment 1. These web pages allow online users to rate and review the restaurants available on your website after they are logged in. Your website also allows a website manager to log in and change or delete current posts for ratings and reviews.
1. Template: ASP.NET Core Web Application in Visual Studio 2015/2017. Language: C# (-15 marks if these template and language are not used).
2. Project: Assignment 1 project (-15 marks if Assignment 1 project is not used unless it has not been implemented for Assignment 1).
3. The new web pages for ratings and reviews are developed using MVC Entity Framework (-15 marks if MVC Entity Framework is not used) and have the design as seen in the screenshots below.
4. Information on current reviews and ratings and how to rate and review a restaurant has to be available on the Cuisine page.
5. User can read all reviews and ratings posted on your website without login.
6. User can rate and review a restaurant available on your website after he/she is logged in.
7. User cannot modify or delete a rating or review after it is posted.
8. Website manager can edit or delete any rating or review after he/she is logged in (you can manually assign manager role to a registered user in the current database).
9. A post for rating and review contains the following: heading, star rating, comments, date (when it is posted) and name (who posted it, could be the current username). The user does not need to enter date and name, you implement controller methods to save them to the database when the post is submitted.
10. There are 2 additional buttons (Agree and Disagree) for each post and the user can increase the current number for agree or disagree after he/she is logged in.
11. Details (heading, star rating, comments, when it is posted and who posted it, and current numbers for agree and disagree) of all posts have to be stored in a database created by MVC Entity Framework (-15 marks if all details are not saved in the database).
12. Handle all exceptions that may occur at runtime (– 1 mark for each exception found).
No report is required. More details and help will be provided in tutorials and lectures.
Marks for each item are given below.
1. [3 marks] If the user clicks Reviews on the navigation bar, the Customer Reviews page will appear with the design below. Note details of those customer reviews below will be added later from other pages. There is no customer review when you start creating this page.
2. [0.5 mark] On this Customer Reviews page, if the user clicks on create an account, the following page will appear and the user can register. The register data has to be saved to the database.
3. [0.5 mark] On this Customer Reviews page, if the user clicks on log in, the following page will appear and the user can enter username and password to log in (the user has to create an account first):
4. [1 mark] After the user is logged in (either website manager or registered user), the user will see an extra blue button Submit a Review on the Customer Reviews page as follows (other content and layout on this page remain the same)
5. [2 marks] If the user clicks on this Submit a Review button, the user will see the Create a Review page below. Note that
a. Date: the current date (when the user opens this page)
b. Name: the username (for login),
c. Other details: as seen in the screenshot below
The user will use this page to create a new customer review as follows: the user selects a restaurant from the dropdown list (there are at least 6 restaurants you have implemented in Assignment 1), enter a heading, enter a comment and change the number for rating from 0 to 1, 2, 3, 4 or 5 (your website needs to handle exceptions if the user does not enter a number between 0 and 5). After the user clicks the Create button, the user will be back to the Customer Reviews page and will see the new customer review added to the list. The number entered for star rating will be the number of yellow stars seen on the page.
On the Customer Reviews page:
6. [1 mark] If the user is website manager, after logged in the user will see two extra buttons (Edit and Delete) appeared on every customer review (see the screenshot above). However, if the user is not website manager (i.e. just a registered user), the user will not see these two buttons.
7. [1 mark] If the website manager clicks on the Edit button, the manager will see the Edit page as below. The manager edits all details except the date (greyed out, not editable) then clicks the Save button and be back to the Customer Reviews page. The manager will see the updated review on this page. Note: the date appeared on this Edit page is the current date at which the Edit form is opened.
8. [1 mark] If the website manager clicks on the Delete button of a review, the Delete page will appear as seen below with all details of that review
After clicking the Delete button, the manager will be back to the Customer Reviews page and will not see that review (it has been removed from the list).
Note: For items 9 and 10 below, the registered user can only change the number for either Agree or Disagree (cannot change both) and only once in the current session (the registered user needs to logoff to stop the current session then login again to start a new session if the user wants to change the number for either Agree or Disagree again).
9. [1 mark] If the logged in user clicks on Agree, it will add 1 to the next number. For example Agree(11) becomes Agree(12) after clicked.
10. [1 mark] If the logged in user clicks on Disagree, it will add 1 to the next number. For example Disagree(4) becomes Disagree(5) after clicked.
11. [1 mark] If the logged in user clicks on Details (for example in the first review for Delicious Pizza), the following page will appear
If the logged in user clicks on Back to List, the logged in user will go back to the Customer Reviews page.
12. [2 marks] The Click here link on the Restaurants page and list of customer reviews on the Cuisine page.
Restaurants page (the Click here link [0.5 mark])
Cuisine page (the list of customer reviews [1.5 mark])
Note: the list of customer reviews needs to be sorted by dates, newest to oldest one.