The purpose of this spec is to outline a web application of moderate complexity that could be used as a sample application and a basis for a tutorial for creating applications in NetBeans IDE. The resulting tutorial could cover the following topics, among others.
I've color-coded the two areas of the application to help eliminate confusion.

The first thing a user is the login screen. It's a simple page with two text fields: username and password. There is also a hyperlink for registering a new account. This links takes the user to a page where the following fields must be filled: First Name, Last Name, Username, and Email Address. Users already having a username can login and be taken to the main user page. The administrator will be taken to the Main Admin page. These two areas are explained in more detail below.
The user come to the website to pick the winners of football games. The main page consists of the following:
Here the user selects the week for which he/she wants to pick the winners. This page feature a drop down list (auto-submit on change). Upon choosing the week, the user is taken to the Weekly Picks page where the action picks are made.
The Weekly Picks Page (week 5 is shown here) is where most of the action happens. Using radio buttons, The user selects one winner per game. The picks are submitted by clicking the Submit Picks button. The user can also revisit this page to make corrections. There will be a cut-off time for making corrections, and code will have to be written to account for this.
Note: Code will have to be written to prevent the user from selecting both teams from the same game. A message should also appear if the user has forgotten to pick one or more games.
PatrickKeegan notes:
These pages list the winners for each week, both for the games and football pool players.
The Administrator Area is where the data is maintained. The administrator is responsible for the following:
This is the page where user administration is done. A table appears with each user's information. Using CRUD functionality, user information can be added, modified, and deleted. Each user row has a Delete button that delete all the information for that particular user. This could be useful is a user stops playing, etc. A hyperlink takes the administrator back to the Main Admin Page.
Here the administrator select the week for which he/she would like enter the games. A simple drop down list accomplishes this (auto-submit on change). There is also a hyperlink leading back to the Main Admin page.
On this page, the administrator enters each individual game. The table on the page contains two drop down lists, each with the complete list of teams.
Note: A message should appear when the administrator has inadvertently selected the same team twice for that week. Code needs to be written for this.
Here the administrator select the week for which he/she would like enter the game results. A simple drop down list accomplishes this (auto-submit on change). There is also a hyperlink leading back to the Main Admin page.
Note:
On this page, the administrator enters the final results of each individual game. The table on the page contains two drop down lists, each with a text field in which the administrator can enter the score. (Note: The screen capture is incorrect. Teams will be listed in static text.)
Note: A message should appear when the administrator has forgotten to enter some results. Code needs to be written for this.
I created a MySQL database for the purpose of designing this spec. The database is functional, but incomplete. If we agree to so this sample application, I could easily finish work on these. The following tables will be necessary for the application:
| adminresults-deployed.png | ![]() |
12796 bytes |
| adminresults-deployed_sm.png | ![]() |
6440 bytes |
| adminresults_sm.png | ![]() |
7162 bytes |
| adminsched-deployed.png | ![]() |
8061 bytes |
| adminsched-deployed_sm.png | ![]() |
5227 bytes |
| adminsched_sm.png | ![]() |
7708 bytes |
| adminuser-deployed.png | ![]() |
17551 bytes |
| adminuser-deployed_sm.png | ![]() |
10890 bytes |
| adminuser_sm.png | ![]() |
11016 bytes |
| login-deployed.png | ![]() |
10774 bytes |
| login-deployed_sm.png | ![]() |
4853 bytes |
| login_sm.png | ![]() |
6958 bytes |
| main-deployed.png | ![]() |
20104 bytes |
| main-deployed_sm.png | ![]() |
11635 bytes |
| main_sm.png | ![]() |
11043 bytes |
| mainadmin-deployed.png | ![]() |
16320 bytes |
| mainadmin-deployed_sm.png | ![]() |
7352 bytes |
| mainadmin_sm.png | ![]() |
9761 bytes |
| picks-deployed.png | ![]() |
8097 bytes |
| picks-deployed_sm.png | ![]() |
4929 bytes |
| picks_sm.png | ![]() |
5055 bytes |
| picksweek5-deployed.png | ![]() |
27869 bytes |
| picksweek5-deployed_sm.png | ![]() |
13119 bytes |
| picksweek5_sm.png | ![]() |
10022 bytes |
| resultsweek5-deployed.png | ![]() |
30469 bytes |
| resultsweek5-deployed_sm.png | ![]() |
15911 bytes |
| resultsweek5_sm.png | ![]() |
10208 bytes |
| schedweek5-deployed.png | ![]() |
25378 bytes |
| schedweek5-deployed_sm.png | ![]() |
12425 bytes |
| schedweek5_sm.png | ![]() |
10903 bytes |