A modern, modular peer-to-peer chat application with a beautiful Catppuccin Mocha-inspired interface.
Project for Hochschule Konstanz (HTWG) — Rechnernetze
PeerChat lets you chat directly with peers on your network, featuring a sleek, themed GUI, real-time peer discovery, and robust, modular code.
server/— Server logic and entry pointclient/— Client core logic and entry pointnetwork/— TCP/UDP helpers and protocol definitionsgui/— Modular, class-based GUI (with reusable components)components/— Peer list, chat area, message entry, broadcast box, etc.
theme/— Centralized color palette and font management
python -m server.mainpython -m client.main- Modern, Themed GUI: Catppuccin Mocha palette, custom fonts, and smooth layout
- Login & Peer List: Register with a nickname, see who's online in real time
- Direct Peer-to-Peer Chat: Secure, direct TCP connections for private messaging
- Broadcast Box: System messages and announcements
- Peer Discovery: Fast, automatic detection via UDP
- Chat History: Timestamped, color-coded messages
- Robust Error Handling: Friendly feedback for network issues
- Modular Codebase: Easy to extend, with reusable GUI components
This project was developed as part of the Rechnernetze (Computer Networks) course at Hochschule Konstanz (HTWG). It's a hands-on exploration of peer-to-peer networking, GUI design, and clean software architecture.
MIT — Free to use, modify, and learn from!
