LangTowl / cloud-server-project

0 stars 0 forks source link

CNT3004 – Socket-Based Networked File Sharing Cloud Server

Project Objective

The primary objective of this collaborative project is to design, implement, and evaluate
a distributed file sharing system in the cloud employing a server-client architecture. The
system should facilitate efficient and secure file transfer between multiple clients
connected to a central server.

Project Requirements

Server-Client Architecture: Implement a robust server-client architecture using
Python where clients initiate connections to a central server for file requests and
transfers.

File Transfer Protocols: Utilize appropriate network protocols (e.g., TCP, UDP)
for reliable and efficient file transmission.

Multithreading: Employ multithreading on the server side to handle concurrent
client requests and improve system performance.

File Types and Sizes: Support a variety of file types (e.g., text, audio, video)
with minimum specified size ranges:

File Operations: Implement the following Client file operations:

Performance Evaluation: Collect and analyze performance metrics such as:

Version Control: Use a Git or Github repository to manage version control,
development branches and collaboration. All team members will have access to
repository and make meaningful updates to the code base reflected by commits.

Project Design

Server Side Application Design

Client Side Application Design

Network Analysis Application Design:

Code: Submit well-commented and organized source code for the server, client
and analysis components. This should be at minimum 3 python modules.

Git log: Git log from git repository that demonstrates multiple commits and
activity from all the team members.

Video Presentation: Prepare and narrate a concise presentation summarizing
the project's key aspects and demonstrating the system's functionality
specifically: