Scenario

We are part of the "Sheridan Book Club" that would like to exchange book reviews with each other. We have decided to develop a WCF Web Service to provide read/create access to the "Mega Book Database" somewhere on the internet so that we can sell our web service to other book clubs around the world!

You have volunteered to:

1. Develop an ASP.NET Web Site to allow "Sheridan Book Club" members to add new reviews and search for reviews in our own private database. The site also needs to be able to add new books to the Book Database.

2. Develop a WCF Web Service that will eventually provide access to the "Mega Book Database" somewhere on the internet. Initially we do not have access to the "Mega Book Database" (we are still negotiating rights) so you have also offered to provide a temporary Book Database so that we can add some of our favorite books to get started.

Note: The site will initially be hosted on our internal server you do NOT have to authenticate users.

Requirements

1. Create a SQL Server database named "Books" containing(field names in brackets):
A. Book table sotring the book name(Name), release date(ReleaseDate), book ISBN number (ISBN) and book ID(Id) (use appropriate data types!)

2. Create a second SQL Server databased named "Reviews" containing (field names in brackets):
A. Review table storing reviewer name (Reviewer), review text(Review), review ID(Id), review date(Date), rating(1-10) (Rating) and book ID(BookID) (use appropriate data types!).

3. Create a WCF Service to allow:
A. Addin NEW books to the Book Database. It should return the new Book ID (0 for failure)
B. Fetching books from the Book Database based on the Book ID (-1 for all books)

4. Create an ASP.NET Application that:

A. Provides a Web Form for adding NEW books to the Book Database. This form must use the WCF Service. Note that all fields are mandatory and that the book ID should be automatically generated.

B. Provides a second Web From to allow users to add new book reviews (all fields are mandatory EXCEPT for the book rating). The user must be able to select the book from the list of available book names which have been retrieved using the WCF Service. This form should:

  • Display the Review ID to the user after a new review added.
  • Automatically generate the review date based on when the review is added.
  • Display the number of reviews that the user has added during the current session
  • Display the number of postbacks that have occurred for this page since the last page load NOT due to a postback

C. Provides a third Web From to allow users to search and view book reviews based on the book ID, book name and/or reviewer name. It should display the fields of the currently selected review(s) based on the search criteria.

5. Capture the following screenshots and include them with your submission:

  • All schemas (showing field names and types) of all Database Tables!
  • The contents of all Database Tables after a few books and book reviews have been added
  • The ASP.NET page (4A) in your Browser after a new book is added
  • The ASP.NET page (4B) above in your Browser after a few new book reviews have been added AND another immediately after the page is reloaded (not a postback!) in the browser
  • The ASP.NET page (4C) in your Browser after a search for an existing book review
  • The ASP.NET page (4C) in your Browser after a search for an unknown book review

Additional Requirements

  • Use appropriate controls (ex. Calendar)
  • Use "LocalDB" in your connection strings! Since the table names and field names are given I should be able to run your application on my system without any database or coding changes.
  • Provide full validation for user data entry (ASP.NET Data Validation controls strongly recommended)
  • Provide a professional and organized user interface with a navigation bar, tooltips, error messages, indication of mandatory fields, proper alignment, etc.
  • Display the result/outcome of the previous operation to the user
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.