Skip to content

PrajwalChamlagain/SecureChat

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

🔐 SecureChat

A Lightweight Secure Chat Application for Local Networks


📌 Overview

SecureChat is a desktop-based messaging application designed to enable secure and real-time communication between users within a controlled network.

In many modern systems, messaging relies heavily on cloud infrastructure, which abstracts core networking concepts and introduces privacy concerns.

💡 SecureChat addresses this by providing a locally hosted, socket-based communication platform focused on learning and security.


🚀 Features

👨‍💻 For Users

  • Send and receive messages in real time
  • Connect to server using IP and port
  • View messages with username and timestamp
  • Communicate with multiple users simultaneously

🖥️ System Capabilities

  • Multi-client communication
  • Message broadcasting to all connected clients
  • Stable TCP/IP socket-based data transmission

🔐 Security

  • Basic encryption using Diffie-Hellman key exchange
  • Controlled communication within a local network

🎯 Problem Statement

  • Messaging systems rely heavily on cloud infrastructure
  • Core networking concepts are often hidden from learners
  • Many platforms raise privacy concerns
  • Beginners lack hands-on exposure to socket programming

👉 SecureChat provides a simple, educational, and secure alternative.


🏗️ Tech Stack

Layer Technology
💻 Language C++
🌐 Networking TCP/IP Sockets
🎨 GUI Qt Framework
🗄️ Database SQLite (optional)
🏛️ Architecture Client-Server

🧩 System Architecture

SecureChat follows a client-server architecture:

  • Client Module → Sends and receives messages
  • Server Module → Handles connections and broadcasts messages
  • Communication Layer → TCP socket-based data exchange

✔️ Simple
✔️ Efficient
✔️ Educational


📊 Core Functionalities

  • Client-server connection using IP and port
  • Real-time message transmission
  • Multi-user chat handling
  • Message broadcasting system
  • GUI-based interaction using Qt
  • Basic cryptographic key exchange

💡 Motivation

Understanding how communication systems work at a low level is essential for every computer engineer.

SecureChat is designed to:

  • Provide hands-on experience with socket programming
  • Demonstrate real-time communication systems
  • Explore basic security mechanisms
  • Bridge the gap between theory and implementation

🌍 Scope

  • Desktop-based application
  • Operates within a local network (LAN)
  • Focused on educational and experimental use
  • Lightweight and easy to deploy

📈 Expected Impact

  • Better understanding of networking fundamentals
  • Practical exposure to client-server systems
  • Improved knowledge of secure communication
  • Strong foundation for advanced distributed systems

⚠️ Limitations

  • Works only within local network
  • Limited security implementation (basic encryption)
  • No multimedia/file sharing support
  • No cloud or internet-based communication

🔮 Future Improvements

  • 🔒 End-to-End Encryption (E2EE)
  • 🌐 Internet-based communication support
  • 👥 Group chat and private messaging
  • 📁 File and media sharing
  • 🔔 Advanced notification system

👨‍💻 Contributors

  • Maniraj Baral (26)
  • Genius Bhandari (34)
  • Aayush Bist (43)
  • Prajwal Chamlagain (45)
  • Pratish Chaudhary (49)

🏫 Institution

Kathmandu University
Department of Computer Science and Engineering
Dhulikhel, Kavre, Nepal


📅 Project Details

  • 📘 Course: ENGG 102
  • 🎓 Program: Computer Engineering
  • 📆 Semester: Year I / Semester II

⭐ Final Note

SecureChat is more than just a chat application — it is a hands-on exploration of how machines communicate, exchange data, and build trust over networks.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 100.0%