KAZOO.GG / ARCHIVE
CASE 03 / 04BACK TO PORTFOLIO
Computer networks coursework · 2025

BBS Socket
System.

A command-driven bulletin board built in Python: multiple clients, threaded TCP connections, JSON messages, shared groups, and durable posts moving through one central server.

TYPENETWORKED SYSTEM
TEAM3 ENGINEERS
LANGUAGEPYTHON
PROTOCOLTCP + JSON
bbs://127.0.0.1:65432CLIENT · CONNECTED
$ python client/Client.py %connect 127.0.0.1 65432 kazoo.gg● connected to bulletin board server %groupsdefault   engineering   milestones %groupjoin engineering● joined engineering %grouppost ; engineering ; socket layer ; threaded server online● message broadcast to group members %groupmessage engineering 1[1] socket layer — threaded server online
PROTOCOL RECONSTRUCTION · REAL COMMAND SET
01 THE SYSTEM

State shared across
live connections.

The challenge was not drawing a chat box. It was coordinating clients, commands, groups, and stored messages while connections arrived and disappeared independently.

01 / PROTOCOL

Commands with a contract.

Clients serialize requests as JSON and the server routes commands for joining, posting, listing users, leaving, and retrieving messages.

02 / CONCURRENCY

One thread per client.

The TCP server accepts concurrent connections and assigns each client its own request-handling thread.

03 / COLLABORATION

Architecture as team work.

In a three-person team, I contributed to socket setup, message-handling logic, and integration across the client and server.

02 MESSAGE PATH

A request crosses
four boundaries.

01 / INPUTClient CLI

Human-readable commands become structured requests.

02 / WIREJSON over TCP

Serialized messages travel through a persistent socket connection.

03 / ROUTINGThreaded server

Each client thread parses the command and invokes board operations.

04 / STATEBulletin board

Groups, memberships, and messages produce a response for the client.

PythonTCP SocketsThreadingJSONClient–ServerCommand Parsing

Read the
protocol.

The repository includes the Python client, threaded server, bulletin-board state model, and the real command implementation represented above.

VIEW TEAM REPOSITORY
NEXT ARCHIVE CASE · 04 / 04

Shopping
Web App