A WhatsApp-inspired desktop chat application built with Python and Tkinter, developed as part of an Operating Systems course to demonstrate Inter-Process Communication (IPC) concepts including message passing, shared memory, and process synchronization.
- π₯ Multiple contacts with switchable "I am" user selector
- π¬ Real-time text messaging with chat bubbles and timestamps
- πΌοΈ Image sharing support (PNG, JPG, GIF)
βοΈ Message forwarding with metadata tagging- ποΈ Delete for me / Delete for everyone
- β Multi-select messages for bulk delete or forward
- π« Block / Unblock contacts
- π Dark / Light mode toggle
- π’ Active now status indicator
- π Silent message drop for blocked contacts
- Message Passing β transactional send/receive between user processes
- Shared Memory β conversation histories and media caches
- Process Synchronization β mutex locks, semaphores, race condition handling
- Producer-Consumer Pattern β message queue management
- Atomic Operations β delete-for-everyone with consistency guarantees
- Python
- Tkinter (GUI)
- Pillow / PIL (image handling)
- Threading & concurrency primitives
- Clone the repo
git clone https://github.com/Manahil-debug/IPC-Chat-System.git- Install dependencies
pip install pillow- Run the app
python ipc.pyFull system design documentation covering IPC architecture, data models, security, performance, and scalability is included in the project report.
Manahil Ramzan β GitHub
