Skip to content

ahmedashrfhassan/JavaChatApplication

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ChatApplicationJava

ITI Chat Application

A desktop chatting application built using JavaFX and RMI as our first project at the Information Technology Institute. It takes full advantage of JavaFX's reactive programming model, using property binding to synchronize Models with Views.

πŸ› Architecture

This software project was built using a layered architecture. The following diagram demonstrates an example use case that goes through all the layers.

image

βš™ Features

  • Registration and login
  • One to one and group chats
  • File transfer
  • Server statistics and management
  • Updating user profiles
  • AIML chatbot
  • Save messages to database

βš™ Technologies used

  • Maven
  • JDBC
  • Sockets
  • RMI
  • JavaFX
  • IO / NIO
  • Bean Validation (Hibernate Validator)
  • Logback
  • HikariCP
  • MySQL

πŸ›  How to run

Maven

  • Install it using the following maven command:
mvn install:install-file -Df`ile=Ab.jar -DgroupId=com.google -DartifactId=Ab -Dversion=0.0.4.3 -Dpackaging=jar
  • Run the mvn install phase from the chatty-parent directory to create the shaded executable jars in the target/ directory
  • Run the jars using the java -jar command

MySQL

  • Use the chatty.sql script to create the database using MySQL 8.0.28

# πŸ‘·β€β™€οΈ Contributors
* [Ahmed Ashraf](https://github.com/ahmedashrfhassan)
* [Abdelrahman Khattab](https://github.com/abdelrahman-khattab)
* [Abdallah](https://github.com/abdallah)
* [Hala](https://github.com/Hala-45)
* [Sally](https://github.com/sallyElbanawany)

About

JavaFX and RMI chat application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 79.8%
  • CSS 20.2%