Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Java Expert


Home >> Java

Assessment Scenario/Problem

Java program for a Music Social Network system.

You can work on this coursework either alone or in a pair with a colleague, not necessarily from the same seminar or lab group.

If you elect to work as a pair then equal marks will normally be given to both parties but the module leader reserves the right to reduce the marks for a contributor if it is clear there has been an imbalance of effort.

The assignment is about delivering a graphical social network system with a centralised server implementing a Spotify-like service. The clients connect to the "Music Social Network" server to register new members to the social network system and upload their profile in terms of "music preferences" (e.g. opera, pop music, rock music, and so on), personal photo and a set of personal information such as place of birth, place of residence, sentimental state of the corresponding new social network member. Moreover, each clientuploads to the server, at the time of registration or subsequently, the songs (mp3 files) that it intends to share in the social network. After the registration step, the new member is enabled to send new friendship requests, post new messages to the social network, and listen to the songs shared by his friends. Only people that are friends among them can see their respective posts and listen their respective music. Moreover, social network friends can chat among them by means of the additional "Chat" server. In particular, the client can ask to the Chat server to act as a bridge to connect it to its friends and start a new chat session.

The "Music Social Network" server accepts the requests from clients and adds the information related to each request to a data structure containing the name of the new member, the related profile (information and music files) and the IP address of the client. This data structure can be stored in a database in order to share it with the Chat server. Once the "Music Social Network" server completes a new member registration, it sends messages containing the list of current members to the clients. The "Music Social Network" server will send an updated list of current members to the clients every two seconds in order to allow each client to always know who are the people connected to system and enable it to send new friendship requests. Moreover, the "Music Social Network" server has to show, to each client, the list of songs that the client is enabled to listen, i.e., the songs shared by its friends. In addition, the Social Network server must forward posts uploaded by other members to the eligible members. The client uses a graphical window to show the list. The "Music Social Network" server can store the information about friendships in the same data structure used to manage member registration.

The social network members can contact their friends by starting a chat session by means of the Chat Server. In particular, the member can contact a friend directly by clicking on the name, or can perform a profile-matching task to search the set of friends with a particular profile. During the chat session, clients can exchange text, files and images.

You must implement the client-client and client-server communication and manage all of the music social network functionalities. A client connecting to the system should be able to: obtain (from the server) a list of who is currently online; select a person to start a conversation; send text messages to the selected person; listen songs shared by its friends.

You are to implement two servers (Social Network and Chat) and several client objects (see Figure 1). You must produce a graphical user interface for the client and server systems (see Figures 2).

The functionality of the Client is that it should be able to:

  • connect to the server and register its IP address as a valid user along with the name of the user and his/her profile in order to join the social network service (i.e. login).
  • remove the user from the service (i.e. when disconnecting to execute log-off command).
  • send a message to the server for selecting the desired person P with whom to ask for a new friendship.
  • receive friendship acceptance notifications.
  • receive and show post from friends.
  • play music shared by friends.
  • search for people with a particular profile (e.g. they like "opera").
  • send/receive text from other clients.
  • send/receive file/images from other clients.

The required functionality of the Social Network Server is that it should be able to:-

  • keep a record (in some form) of all on-line members, their IP addresses, their profiles, and their shared songs.
  • accept new member registrations and add them to the active participants list.
  • accept requests from the members to remove itself from its records (log-off).
  • list the roster of current registered members and send it to new clients.
  • receive post messages and perform the actions required such as sending the right information to the members.
  • handle multiple member connections concurrently.

The required functionality of the Chat Server is that it should be able to:-

  • accept new requests for starting new chat sessions.
  • receive messages from members and perform the actions required such as sending the message to the receiver members.
  • handle multiple members connections concurrently.

The mark awarded will be proportionate to the functionality implemented - you can pick and choose which functionality you want to implement. The design of the system is up to you. Demonstration and explanation of the prototype is required. Please also refer to the marking scheme defined separately in the Java Coursework Marking Scheme file.

As well as demonstrating your Server and Client you must submit a short report to include:-

1. List of the students presenting this particular implementation.

2. Commented listings of the client and server 

3. An explanation of the design of your system which details items such as:

  • the nature of the network connection used. That is if the server holds an open connection to each client or not and if connections are pooled or created on the fly.
  • the data structure used by the server to record active participant information
  • how the client handles the communication with the Social Network server.
  • how the client handles the communication with the Chat server.
  • any other enhancements you have made for extra points - you will get additional marks for every feature even if the feature is part of a higher band marking requirements and you have not fulfilled some of the lower bands marking requirements.

Attachment:- Assignment.rar

Java, Programming

  • Category:- Java
  • Reference No.:- M92060813

Have any Question?


Related Questions in Java

Assessment socket programmingtaskwrite a java gui program

Assessment: Socket Programming Task Write a JAVA GUI program that would facilitate text chatting/exchanging between two or multiple computers over the network/internet, using the concept of JAVA socket programming. If yo ...

Project descriptionwrite a java program to traverse a

Project Description: Write a java program to traverse a directory structure (DirWalker.java) of csv files that contain csv files with customer info. A simple sample in provided in with the sample code but you MUST will r ...

In relation to javaa what is constructor the purpose of

(In relation to Java) A. What is constructor? the purpose of default constructor? B. How do you get a copy of the object but not the reference of the object? C. What are static variables and instance variables? D. Compar ...

Assignment taskwrite a java console application that allows

Assignment task Write a java console application that allows the user to read, validate, store, display, sort and search data such as flight departure city (String), flight number (integer), flight distance (integer), fl ...

Object-oriented software development1 introduction 11

OBJECT-ORIENTED SOFTWARE DEVELOPMENT 1. Introduction 1.1 Assignment Requirement 1.2 Deliverables and Structure (what to submit) 1.3 Software Restrictions 1.4 How to score high... 1.5 Assumptions 2. System Requirements 2. ...

Question slideshows or carousels are very popular in

Question : Slideshows (or carousels) are very popular in websites. They allow web developers to display news or images on the website in limited space. In this code challenge, you are required to complete the JavaScript ...

Retail price calculatorwrite a java program that asks the

Retail Price Calculator Write a JAVA program that asks the user to enter an item's wholesale cost and its markup percentage. It should then display the item's retail price. For example: (If an item's wholesale cost is 5. ...

Solving 2nd degree equationsbull write the following java

Solving 2nd degree equations • Write the following Java methods • boolean real-sols(double a, double b, double c): it returns true if the 2nd degree equation ax2 + bx + c has real solutions • double solution1(double a, d ...

Assignment taskwrite a java console application that allows

Assignment task Write a java console application that allows the user to read, validate, store, display, sort and search data such as flight departure city (String), flight number (integer), flight distance (integer), fl ...

Can someone please help me with the following java

can someone please help me with the following java question The input is an N by N matrix of nonnegative integers. Each individual row is a decreasing sequence from left to right. Each individual column is a decreasing s ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As