Skip to content
GiZano edited this page Jan 23, 2026 · 1 revision

Wiki Home - Distributed Chat System

Welcome to the technical documentation hub for the Distributed Systems & IoT Class Project. This repository hosts a centralized server infrastructure and five distinct client implementations, all interoperating through a unified TCP/IP JSON protocol.

🏗️ System Architecture

The project follows a star topology where all clients communicate exclusively with the Central Server, which acts as a message router.

  • Server: Python-based, multi-threaded, handles routing and session management.
  • Clients (Groups 1-5): Independent implementations (CLI, GUI, Web) developed by different student teams.
  • Shared Protocol: Defined in utils.py, strictly enforced.

📚 Documentation Sections

Core Documentation

Client Implementations

Detailed documentation for each group's specific client architecture:

🛠️ Developer Resources

  • Shared Utilities (utils.py): Always ensure your client imports the shared library. It contains:
    • get_local_ip(): Automatic IP discovery.
    • create_json_msg(): Factory for valid protocol messages.
    • decode_json_msg(): Safe parser for incoming bytestreams.

Maintained by the Class 5H of High School Archimede in Treviglio.