Hi, I would like to create a Java crossword project using the following specifications:


1.The application should be able to hold a list (at least 2 4X4 puzzles and 2 6X6 puzzles are to be developed with the questions and the answers)
2. You must develop two such tables, one with “4X4”, and the other with “6X6”(i.e., the table with 4 rows and 4 columns (or) 6 rows and 6 columns).
3. Each cell should only contain one character, i.e., the size of the cell of the table should be in such a way that only one character is to be accepted. If the user enters more than one character, then a dialog box is to be displayed stating that only one character is to be entered.
4 The puzzles are to be stored with the unique id, so that the questions of that puzzle will be stored with reference to that puzzle id.
5 The questions and the answers of the puzzles should be stored with reference to the puzzle id.
6 The answers are to be stored with reference to both the question id and the puzzle id.
7 As soon as a user starts playing the puzzle, the timer is to begin, and should count the time period for which the user has played the puzzle. i.e., at the end the user should be able to view the time taken by him/her for attempting the puzzle.
8 The timer should stop counting the time, as soon as the user clicks on the button “Quit”, or “Submit” button.
9 When a user clicks on the submit button, the application should ask for the name of the player, and after the user enters the name, the dialog box is to be displayed stating that he/she has played the puzzle for so and so time. Like for example, if a user “a” has played the puzzle, and submitted or quit the game, then the user is asked to enter his/her details through the dialog box. And in the dialog box, the user has entered his/her name to be “a”, then after entering the name and submitting it, as screen is to be displayed stating that “a” has finished so and so puzzle with the puzzle id, for so and so time.
10 The application should be able to store the details of the highest scorer till date.
11 The admin, the owner of the site should be able to perform the following functionalities
Generate the puzzles, based on the size of the table (4X4 or 6X6), by assigning the questions as per the size of the table and the availability of the cells.
For generating the puzzles the admin should be able to store and maintain the questions along with the answers and the size of the answer.
Assigning the character “*” to the cells, where the data is not required to be entered.

12 The user should have the following functionality:
They should be able to attempt the puzzle, by editing the cells that are not filled with the character “*”
The users other than the admin, should not be able to edit the cells of the tables, that are filled with the character “*”
The users should be only able to edit the cells that are not filled with the character “*”
After attempting the puzzle, the user should be able to submit the puzzle.
After the submission of the puzzle, the user should be able to view the answers for that puzzle which is attempted.