Java program for a music social network system

Assignment Help JAVA Programming
Reference no: EM131306181

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

Reference no: EM131306181

Questions Cloud

Discuss how credit cards offer incentives to use the cards : Discuss how credit cards offer incentives to use the cards. How else might credit card companies reward cardholders with excellent credit ratings?
What is the importance of socrates- plato : What is the importance of Socrates, Plato, and Aristotle in understanding the foundations of psychology? Describe the similarities and differences among these three philosophers and how their philosophies compare and contrast with the philosophies..
Discuss interest rates and grace periods : What is a cash advance? How are they commonly obtained? Discuss interest rates and grace periods with regard to cash advances.
How does the interest rate affect credit payments : List some items that appear on the credit card statement. What accounts for the difference between your previous balance and your new balance?
Java program for a music social network system : Java program for a Music Social Network system. 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 i..
What should you consider when comparing credit cards : What should you consider when comparing credit cards?- Should you view credit cards as a source of funds? Why or why not? Why should you self-impose a tight credit limit?
How would you gather your data : Chose two descriptive methods and describe a study for each method that you would be interested in conducting.For instance, if you choose a case study, what would your study be about? Who would your participants be and how would you gather your dat..
Area of discrete optimization : Choose a specific topic in the area of discrete optimization and explore it in greater detail. This type of project should survey the existing literature
Why is paying your credit card balance in full so important : Why is paying your credit card balance in full so important? What should you do if you can't avoid credit card debt? Explain.

Reviews

len1306181

12/9/2016 2:38:31 AM

The report and developed code shows the student is typically able to go beyond what has been taught (particularly for a mid/high 1st). Evidence of extensive and appropriate selection and critical evaluation / synthesis / analysis of reading / research beyond the prescribed range of information given in lectures and labs. The submission shows an excellent demonstration of relevant skills and knowledge. In particular, the student is required to implement a chat system based on two different servers and two or more clients uploading posts, sharing music and chatting among them by using a centralised approach. The clients and server use a graphical user interface to perform their activities. The server implements asynchronous communication to update the clients with the list of currently connected people.

len1306181

12/9/2016 2:38:21 AM

In this assignment you must demonstrate a solution to the tasks described above. You may use the example architecture as a source but you must be in a position to be able to explain in detail the workings of your code. The solution to the overall coursework must be demonstrated and explained to your lab tutor in the labs. If you fail to explain features of the coursework, the marks for the feature will not be awarded to you. You are required to submit a short (min 4 pages) explanation of your coursework solutions. The report and implemented solution demonstrates outstanding/excellent knowledge and understanding of the chosen area.

Write a Review

 

JAVA Programming Questions & Answers

  Calculate a customer''s charges and total bill

A state sales tax is applied to the sum of all charges except for the federal gasoline tax

  Explain the importance of access modifiers

Which access modifier (public, private, protected, default) would you use on a data field in the following cases?

  Exchange the block of platinum for cash

You don't get any fractional part, as the division process rounds down the value. If you exchange the block of platinum for cash, you get m units of currency. You can do any number of exchanges for smaller blocks or currency.

  Implement the hashcode method

Java, every object has an equals and a hashCode method that is used, among other things, by the standard Collections library. By default both are based on an object's memory location

  Write a program in java that reads contents of two vectors

Write a program in Java that reads contents of two vectors, and then displays the sum of these two vectors. The program should prompt the user to enter the size of the vectors first.

  Create a package called people

Create a second package called ‘task01'. Within this package provide classes which perform the following tasks.

  Replace the submit button

Replace the submit button (type="submit")with a regular button (type="button").  Once the buttonis clicked, display the user inputs in an HTML table below the form, if validations are successful

  Displays a drawing for the popular hangman game

Write a program that displays a drawing for the popular hangman game, as shown in Figure 15.32(c). Draws a sketch for the hangman game.

  How do the two implementations differ

Give an example of a program that uses the non-generic version of a class from the Java collection framework and the equivalent program that uses the generic version.How do the two implementations differ?

  Implement an inheritance hierarchy based on the following

Implement an inheritance hierarchy based on the following specifications for Account class, Checking Account class, and Savings Account class Methods: processDeposit ( ) - accepts a single double parameter containing the deposit amount. Updates the ..

  Write java code to read integers from an input file

write java code to read integers from an input file and write only the odd numbers to an output file. the two file names will be provided on the command line as the input file followed by the output file.

  Develop a java gui application using layout managers

COIT11134Object Oriented Programming - Develop a Java GUI application using layout managers and develop an application that uses two or more classes.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd