Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’¬ IPC Chat System β€” WhatsApp-Style Desktop Messenger

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.

πŸ“Έ Screenshot

IPC Chat System

✨ Features

  • πŸ‘₯ 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

🧠 IPC Concepts Demonstrated

  • 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

πŸ› οΈ Tech Stack

  • Python
  • Tkinter (GUI)
  • Pillow / PIL (image handling)
  • Threading & concurrency primitives

πŸš€ How to Run

  1. Clone the repo
   git clone https://github.com/Manahil-debug/IPC-Chat-System.git
  1. Install dependencies
   pip install pillow
  1. Run the app
   python ipc.py

πŸ“„ Documentation

Full system design documentation covering IPC architecture, data models, security, performance, and scalability is included in the project report.

πŸ‘©β€πŸ’» Author

Manahil Ramzan β€” GitHub

About

A WhatsApp-style desktop chat app built with Python and Tkinter. Features contacts, image sharing, block/unblock, and real-time messaging.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages