Description
The purpose of this project is to learn to debug a broken website using the browser’s built-in debugger. You may use whatever browser you like. You will find that these browsers are your best two choices:
- Chrome
- Firefox with the FireBug extension.
1 Application walk-through
I will present you with a description of a simple application for keeping contact info. The goal of this assignment is to get the app working, and to find / fix all bugs, typos, and minor glitches.
Attention to detail is important.
1.1 Main screen
When you start the app, it will pre-load four contacts, and you’ll see them displayed in a list:
If you click the New Contact button, that’ll allow you to create a contact.
If you click the Edit button, that’ll allow you to edit a contact.
If you click the delete button, it should display a confirmation dialog like so:
If you click cancel, it should not delete the contact. If you click OK, it will delete the contact.
1.2 New Contact
When you click the New Contact button:
- The main table should become hidden.
- The edit contact form should appear.
- The title should say New Contact
- All input controls should be reset as shown in the image.
- All validation messages should be hidden.
Screenshot:
Only name, phone number, and age are required fields. The default phone number type is Mobile. The default Ringtone is None.
When validating age:
- If the user enters a random string, give them an error message that the age is not a number.
- If the user enters a negative number, or a number greater than 120, tell them the range.
1.3 Edit a contact
When you click an edit button on the main form, the contact list will hide, and the edit window will appear. The form should populate with all the info for the contact.
Validation should work just like when creating a new contact.
Screenshot:
2 Grading for this assignment
Most students find all the bugs in the process of getting things to work. This is not an exhaustive list. I may find other bugs elsewhere:
- Bring up the console window and keep it up to check for errors.
- Click New Contact.
- The page should switch to the input form
- The title should be set to “New Contact”
- Click Save. Validation messages should appear for the name, number, and age.
- Click Cancel
- Edit Sarah Jensen
- The title should be set to “Edit Contact”
- Fields should be set as follows
- Name: Sarah Jensen
- Number: (801) 439-9214 / Home
- Age: 21
- Ringtone: Table for Two
- All validation messages should be cleared.
- Make the following changes:
- Name: (anything random)
- Number type: Work
- Ringtone: Ritmo Latino
- Edit Sarah Jensen again
- Make sure the changes saved
- Click Cancel.
- Click New Contact
- Create a new contact
- Save
- Edit the contact you just added. Make sure all settings are what you just entered
- Delete Sarah Jensen
- You should get a confirmation window.
- Click cancel.
- Delete again, then click Yes
- Make sure Sarah got deleted.
- Look in the console window and make sure there are no errors
- Note: you may see a 404 error that Chrome could not load favicon.ico. You can ignore that error.
I will take off points depending on the severity of bugs that I find:
- Crash / loss or corruption of data: -15 points
- Major glitch, but there is a workaround: -10 points
- Cosmetic issues: -5 points
3 Submitting your assignment
Upload to netlify, or find some way to host it.
In Canvas, I want to see:
- A URL to where your page is hosted (do not share this URL with friends)
- A list of the items that you did for additional study. If you don’t provide a list then I get to guess and make my own judgement calls.