Skip to content

A Java-based chat application supporting up to 128 clients with encrypted communication, SQLite logging, and real-time user status updates.

License

Notifications You must be signed in to change notification settings

UgurkanTech/ChatApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ChatApp

A chat app written in java.

This project consist of 3500 lines of code which took 26 hours to write.

alt text

The Server App:

-Supports up to 128 clients (limited and can be extended to 256)

-Network communication can be encrypted and compressed (has a switch).

-Communication protocol is sent to clients, so that they know is the data encrypted or not.

-Has SQLite database for logging chat messages with activities and for employees.

-Uses Jetty Webserver for backdoor access.

-Employees can be added using the backdoor with a GET request.

-Backdoor menu access is granted by the server using the admins list in DB.

-Assigns random temporary colors to all clients when they join.

-Sends online users to all clients when someone joins or leaves.

-Supports private and global messages.

-Registration and logging in process Is handled and validated by the server.

-Responds to following network opcodes:

 register@@@email;password
 
 login@@@email;password
 
 private@@@senderMail;receiverMail;content
 
 global@@@senderMail;content

Clients:

-Users can register only if they are an employee.

-Can see who is online and send private messages.

-Has chat notification sound which can be turned on/off.

-If the user is an admin, it can see the backdoor button. (superuser@chat.com, pass: root)

-Clients reconnect back when a network interrupt occurs or server restarts.

-Clients send login request to server with last credentials automatically after reconnection.

-Responds to following network opcodes:

 users@@@name,mail;name,mail
 
 private@@@time;sender;content;userColor
 
 global@@@time;sender;content;userColor
 
 auth@@@status;message
 
 privateSent@@@time;receiver;content;userColor 
 
 cmd@@@admin;true

About

A Java-based chat application supporting up to 128 clients with encrypted communication, SQLite logging, and real-time user status updates.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages