Skip to content

Final Report for the course Computer Network Programming

Notifications You must be signed in to change notification settings

ngotanloi0709/chat-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

About

This project is a secure, local-network chat application with file sharing capabilities. It uses strong encryption to protect messages and allows administrators to manage user information. Built with Java, it leverages multithreading for efficient performance and a MySQL database for storing chat logs. It's made as the final report for the Course "Computer Network Programming" at Ton Duc Thang University

Technique

  • Multithread programming
  • TCP/IP Socket (Local Network)
  • AES Encryption
  • Database (MySQL)
  • JavaSwing GUI

Feature

Group chat

  • Send/Receive messages in a group
  • Clear/Load Chat Log from Database
  • Encrypt and Decrypt messages

Upload/Download File

  • Upload File to Server
  • Get the uploaded File

User Management

  • Show Users Information
  • Add/Remove Users
  • Edit Users Information

Contributors

Ngo Tan Loi ([email protected])

Le Vu Phuong Quang ([email protected])

Installation

This project requires below technologies to implement:

  • MySQL 8
  • Netbean 16 (JDK 19) (Other IDE such as IntelliJ)

Setup

  • Clone this repository
  • Open the repository in your IDE
  • Import chat_app.sql to MySQL Database
  • Config the Database information in src/core/Database.java
  • Build the project
  • Run the ServerInitialize.java to start the Server
  • Run the App.java to start a client

Program's workflow

ServerInitialize.java turn on the Server to accept the Client Socket, also create a Client represent to it's own App.java turn on a Client each time it's started. The client search for Server Socket constantly and automatically.

  • The Chat feature only available when it's connected to the Server
  • The User Management feature only available to User has Role = 1 and the Server

References

About

Final Report for the course Computer Network Programming

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages