Project Description Assignment
The Course Project is simply the cumulative result of completing Labs 1 through 7. In Lab 1, you will create a basic PayrollSystem web application that represents a payroll processing website for a company. Each subsequent lab will add more features to this application. By the time you complete Lab 7, you will have a finished web application with a good deal of functionality. You will be able to log in to your application, enter personnel records to be stored in a database, retrieve and display previously entered records, perform transactions, monitor user activity, and send e-mail notifications of errors.
After you complete Lab 7, but before submitting the project, you should thoroughly test all the web pages and the functionality added to the PayrollSystem website over all the labs. Also, review the feedback you have received from your instructor on the previous labs and correct any deficiencies noted. After all problems have been fixed and everything from Labs 1-7 works correctly, simply zip up the entire PayrollSystem website after completing Lab 7 and submit it as your Course Project.
The following sections summarize the features you will add to the website each Lab. All of these features should be present and working in the Course Project in order for you to receive full credit.
See the Syllabus section "Due Dates for Assignments & Exams" for due date information.
Lab 1: "Annual Salary Calculator" ASP.NET Web Application
In this lab, you will create a simple ASP.NET web application using Microsoft Visual Studio 2008 that displays the text "Hello, World" on the home page. You will also add a page and build an Annual Salary Calculator on that page. This will be used as the foundation for all subsequent labs.
Lab 2: User Input Web Pages
In this lab, you will create an ASP.NET web application main form containing a list of hyperlinks and images. You will also add a form with five text boxes and a Submit button. You will use the form to send information to a second form (which you will also create), where data from the first form will be displayed so it can be verified by the user.
Lab 3: User Activity Monitoring
In this lab, you will save user activity data in a database. A record of each user's IP address and the current date and time will be created whenever a user visits the Personnel form. You will be able to view a list of all previous user activity records. You will add validation to the form added in Lab 2 to validate the user input.
Lab 4: Web Forms with Database Interaction
In this lab, you will start with the form created in Lab 2 and add functionality to INSERT records into a database table and SELECT records for display to the user. You will also add a search feature to search for records to display.
Lab 5: Transaction Processing
In this lab, you will add transaction processing to the database INSERT functionality from the previous Lab to make it operate more reliably. Changes to the database will be committed (made permanent) only if all operations in a transaction are completed successfully. If any operation in a transaction fails, the entire transaction will be rolled back (undone) so that the database is left in its original state. This prevents storing incomplete or inconsistent information in the database when an error occurs. You will add client side validation controls. You will also add an editable list of database records that will allow the user to view, update, and delete employee records.
Lab 6: Login and Security Levels
In this lab, you will create a login form, use the login control, validate a user based on the login name and password, and allow access to the system if it's authorized or prevent the user from accessing the system if unauthorized. You will add the ability to add new users, modify existing users, delete users, and view all users.
Lab 7: Error Notification Via E-Mail
In this lab, you will incorporate error handling into the login process so that a notice of each invalid login attempt is automatically e-mailed to the technical support staff. You will add additional security features to make the web application more secure. You will also add security logic to specific forms in the web application.