SimpleGUIChat

Python Tkinter + TCP socket chat — pop-out messaging experiment that later informed MANET radio and dual PTT networking work.

SimpleGUIChat

Enfoque del proyecto

Software

Key Features

Pop-out GUI chat window
Threaded receive loop
Localhost:9090 dev server

Scope of work

Answer a narrow integration question: can a web page open a pop-out chat that does not live inside the browser tab?

  • Implement TCP server on 127.0.0.1:9090
  • Build Tkinter client with threaded GUI + socket receive loop
  • Broadcast messages to all connected clients (simple fan-out)
  • Sketch IRC-like privilege roles in README (Owner → Banned) for future work
  • Preserve lineage to later mesh radio / dual PTT experiments

Out of scope: TLS, persistence, moderation UI, production auth.

Timeline

PhaseWindowMilestone
Tutorial mergeJul 2022Combined NeuralNine + Python Forum samples
Server/client splitJul 2022server.py + client.py running locally
GitHub publish22 Jul 2022Public repo tagged as ZCW cohort work
Roadmap noteJul 2022Privilege model deferred after data loss scare

Stack & BOM

FileRole
server.pyBind :9090, accept clients, broadcast payloads
client.pyNickname prompt, Tkinter UI, send/receive threads
Python 3.x stdlibsocket, threading, tkinter

Deliverables

  • Working LAN-local chat demo
  • Pop-out window suitable for embedding experiments
  • Documented privilege model (design only)
  • Website embed bridge (not completed)
  • Role enforcement (deferred)

Outcomes

  • Treated real-time messaging as infrastructure for the first time
  • Direct conceptual ancestor to MANET / mesh radio coursework and field comms ideas
  • Validated threaded GUI + socket pattern before heavier Django forum work

Known limitations

  • No encryption — lab use only
  • Single-process server — no horizontal scale
  • Privilege system exists in README only after accidental deletion recovery

Bitácora y contexto

Alcance, cronograma y BOM están aquí. Para decisiones y contexto más largo, lee la entrada del blog.

Leer la entrada
Completed on: 22 jul 2022