A Python-based chat server implementing authentication, chat rooms, and pub-sub messaging.
- ✅ Problem 1: Thread-based server with blocking I/O
- ✅ Problem 2: Authentication with bcrypt password hashing
- ✅ Problem 3: Force logout on duplicate login attempts
- ✅ Problem 4: Chat rooms with /join, /leave, /rooms commands
- 🚧 Problem 5: Publish-Subscribe (In Progress)
- ⏳ Problem 6: Redis Integration
- ⏳ Problem 7: TLS/SSL Encryption
- ⏳ Problem 8: Docker Deployment
python -m venv .venv
source .venv/bin/activate # On Linux/Macpip install -r requirements.txtpython -m server.serverpython -m client.clientREGISTER alice password123
LOGIN alice password123
/join <room>- Join a chat room/leave- Return to lobby/rooms- List all rooms/quit- Disconnect
chat-app/
├── server/
│ ├── server.py
│ ├── client_handler.py
│ ├── auth.py
│ ├── room_manager.py
│ └── config.py
├── client/
│ └── client.py
├── requirements.txt
└── README.md
- Course: Internet Architecture and Protocols [CS60008]
- Assignment: Assignment 1
- Language: Python 3.9+