Skip to content
This repository has been archived by the owner on Jun 23, 2021. It is now read-only.

Latest commit

 

History

History
67 lines (34 loc) · 1.64 KB

readme.md

File metadata and controls

67 lines (34 loc) · 1.64 KB

SunnyChat

A simple chat application written in Java RMI.

This is a course work project for COMP4073 - Distributed Computing Systems, and it is far from finish. Please read its code and use it for learning purposes only.

Features

  • Database (MariaDB) for persistent storage

  • Account system (login & register with username and password)

  • Friend list & group list

  • Sending & responding friend invitations

  • Sending & receiving files

  • Online users list

  • Seperated message areas for different friends and groups

Future improvements

  • Storing passwords after encryption

  • SSL transmission (maybe by utilizing custom socket factory?)

  • Anti SQL injection

  • Sending & receiving images

  • Sending & receiving files in small pieces, but not the whole file (to save memory when sending large files)

Runtime screenshots

login

register

main_gui

add_a_friend

enter_group_chat

view_group_chat_members

Launch guide

Prerequisite

  1. MariaDB database running on localhost:3306 with account root and empty password.

  2. JDK 8 x64

  3. Java IDE (recommendations: Visual Studio Code, Eclipse 2020)

To launch

  1. Import the file chat.sql into the database.

  2. Launch the Server in the IDE.

  3. Launch the Client in the IDE.

  4. Enjoy!