A secure socket-based Blood Donation Alert System built using Python that enables real-time donor-recipient communication with SSL encryption, multicast networking, congestion control, and GUI-based management.
- Secure SSL/TLS based communication
- Real-time blood donation alerts
- Multicast socket communication
- TTL-based routing simulation
- Congestion control using Token Bucket/Leaky Bucket
- SQLite integrated donor database
- Tkinter GUI for client interaction
- Intrusion detection and spam monitoring
- Multi-client and multi-server support
- Custom control and data communication protocol
- Python
- Socket Programming
- SSL/TLS
- Tkinter
- SQLite
- Multithreading
- Networking Concepts
bloodbank_network/
│
├── server/
│ ├── server_main.py
│ ├── ssl_handler.py
│
├── client/
│ ├── client_main.py
│ ├── ssl_handler.py
│
├── utils/
│ ├── ids_module.py
│ ├── port_scanner.py
│
├── database/
│ ├── donors.db
│
├── certificates/
│ ├── server.crt
│ ├── server.key
│
└── README.mdgit clone https://github.com/your-username/bloodbank_network.git
cd bloodbank_networkpip install -r requirements.txtIf requirements.txt is unavailable:
pip install pyopensslOpen a terminal inside the project folder:
cd server
python server_main.py[SERVER] SSL Server Started
[SERVER] Waiting for clients...Open another terminal:
cd client
python client_main.py[CLIENT] Connected securely to server
[CLIENT] GUI Started- Open the client GUI
- Enter:
- Name
- Blood Group
- Location
- Click Register
Blood Group: O+
Location: Bangalore
Units Needed: 2
The system securely multicasts alerts to matching donors.
- TCP Socket Programming
- SSL/TLS Encryption
- Multicasting
- Congestion Control
- Routing Simulation
- Intrusion Detection
- Reliable Data Transfer
- Mobile application support
- GPS-based donor tracking
- Cloud deployment
- AI-based donor prediction
- Emergency priority routing
- Shreya Robin
This project is developed for educational and academic purposes.