  This report details the development of a networked distributed system named
Group Communication System (GCS), implemented in Java to exemplify socket
programming and communication protocols. GCS facilitates group-based
client-server communication through a command-line interface (CLI), enabling
seamless group interaction and management. The project emphasizes fault
tolerance, design patterns, and version control system (VCS) utilization. The
report offers insights into system architecture, implementation, and practical
considerations, providing a comprehensive understanding of distributed systems'
technical background and operational aspects.
