CNL Miniproject Synopsis
CNL Miniproject Synopsis
3.)
210905152
Vaibhav Sandhir
Roll no 24
9876918875
[email protected]
1. Efficient Music Retrieval: Users can easily search and request music based on
criteria like the artist, genre, album, or song title. The system quickly finds and
delivers the desired songs, ensuring a minimal waiting time for users.
3. Data Organization: The music library is thoughtfully organized, with songs neatly
categorized by artist, genre, and other metadata. This structured organization
simplifies and speeds up the process of discovering and accessing music.
These key functions highlight the system's dedication to providing an efficient and
user-friendly experience. By offering quick music retrieval, accommodating multiple users
simultaneously, and maintaining a well-organized music library.
1. Server Setup:
- Initialize the server with a centralized music library containing songs categorized by artist,
genre, and album.
- Create a socket to listen for incoming client connections.
- Implement multi-threading to handle client requests concurrently, ensuring
responsiveness.
2. Client Interaction:
- Clients connect to the server and request music by specifying criteria such as artist,
genre, album, or song title.
- The server processes client requests, searches the music library, and sends the
requested songs to the client.
- Concurrent handling of client connections ensures minimal waiting time and an
uninterrupted user experience.
4. Database Management:
- Create and maintain a well-structured music database to store metadata, including artist
names, genres, album details, and song titles.
- Implement efficient search algorithms to retrieve music based on user requests.
- Ensure data integrity and implement backup mechanisms to safeguard the music library.
5. Error Handling:
- Implement error handling mechanisms to gracefully manage unexpected situations, such
as connection issues, file not found errors, or client disconnects.
7. Documentation:
- Create comprehensive documentation that includes setup instructions, usage guidelines,
and system architecture for both users and developers.
8. Future Enhancements:
- Consider potential future enhancements, such as support for playlists, improved search
algorithms, or integration with external music services.
ARYAN MANGLA
2. Documentation:
- Share the responsibility for creating comprehensive documentation with Kushala and
Vaibhav.
- Collaborate on providing clear setup instructions, usage guidelines, and system
architecture details.
VAIBHAV.
1. Database Management:
- Share responsibilities for designing and maintaining the music database with Aryan and
Kushala.
- Collaborate on organizing songs by artist, genre, and other metadata.
- Work together to implement efficient search algorithms.
KUSHALA:
REFERENCES:
James F. Kurose & Keith W. Ross, Computer Networking A Top-Down Approach, (6e),
Pearson Education,2013
https://www.geeksforgeeks.org/handling-multiple-clients-on-server-with-multithreading-using-
socket-programming-in-c-cpp/