Develop a java networked database project called


Mini Project Specification

A mini project

Develop a java networked database project called myTicTacToe to have a server based database accessible by multiple users. The database should hold information on users (names, usernames, and passwords).

Anyone should be able to add him/herself as a user. Further discussions will take part in a lecture. The given TicTacToe program is a java application. You are expected to do the following:

1. Import and test the given project before you attempt to improve it.

2. Convert the program to a simple client-server program to enable two users on separate client machines play the game against each other. Listing 1 shows a sample code snippet for the server side. You do not need a GUI for the server side but you may choose to have one if you wish to. Hints: Use the source code given, add a client class, and add a server class. The source code given will be part of server side implementation. Use it as a separate class at server end but NOT as the main class since the server class should be the main class.

3. Add a database to the project. A server side database should hold user information as shown in the tables below. The specifications given are bare minimum. Enhance tables adding one or more columns of your choice (e.g. date enrolled, date played etc.)

a. Create a table called PLAYERS. This will be used to keep a record of players. Although no authentication is expected at this stage, this can later be added.

b. Create a table called RESULTS. This should hold results of games between any two players played at any time. The column Winner should take values 1, 2, or 0. The first two identifies the winner while 0 indicates a draw.

c. Note that at this stage only one game can be played (no multi-threading yet).

4. The game should start as soon as a second player becomes active.

5. Write SQL scripts as part of methods to do the following (you will need new GUI components to be added to your application):

a. Add new user.

b. Get a person's results (show the person's name, opponent's name, won/lost/drew as well as total number of points obtained). Each wins worth 1 and each draw worth 0.5. Zero for losses.

c. Produce the cumulative results (i.e. as in 5b. but for all players.)

6. Add multi-threading to your program to enable multiple sessions of the game run simultaneously.

7. Active and free users should be flagged so that a new player can find an opponent. A free user is one who started the application and waiting for an opponent.

Table 1: PLAYERS:

 

ID

Name

Surname

Username

Password

email

Type

Integer

Varchar

Varchar

Varchar

Varchar

Varchar

Size

N/A

30

30

30

30

30

Primary key?

Yes

No

No

No

No

No

Unique?

Yes

No

No

Yes

No

Yes

Null?

No

No

No

No

Yes

Yes

Foreign key?

 

 

 

 

 

 

Table 2: RESULTS

 

Game_No

Name1

Surname1

Name2

Surname2

Winner

 

Type

Integer

Varchar

Varchar

Varchar

Varchar

Integer

Size

N/A

30

30

30

30

1

Primary key?

Yes

No

No

No

No

No

Unique?

Yes

No

No

No

No

No

Null?

No

No

No

No

No

No

Foreign key?

 

 

 

 

 

 

The coursework report should contain the following sections:

- Title page - giving title, module, date and authors' details

- Introduction - a short description of the work done

- List of contents - with page numbers

- Design and development - The design and development of your program.

- Testing, results, and discussions - supported by screen shots.

- Conclusion - A short summary of the work done and your conclusions, possible improvements and enhancements

- References used - a full list of all sources used; books, journals/magazines, electronic sources

Bonus: Implement authentication so that 5 points is added to your average laboratory grade (only if functional). This may be as significant as moving you up by a class.

Attachment:- manifest.rar

Attachment:- Project Specification.pdf

Request for Solution File

Ask an Expert for Answer!!
JAVA Programming: Develop a java networked database project called
Reference No:- TGS01377516

Expected delivery within 24 Hours