# JavaChat **Repository Path**: abcdxiaocheng/JavaChat ## Basic Information - **Project Name**: JavaChat - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-07 - **Last Updated**: 2024-08-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JavaChat ### a chat software developed in **JavaFX**

简体中文 | English

--- ## introduction Java Chat This is my final assignment for the second half of my freshman semester.
The interface is based on JavaFX, which is more modern than swing, and the database is based on Mysql.
It realizes the basic chat functions, including sending messages, receiving messages, viewing history messages, user registration, login, etc.
At the same time, it uses Redis to cache user information. The use of Redis cache user information to improve the user experience.
With a complete graphical interface , UI design using SceneBuilder , create fxml files , and use CSS to style the interface .
This is my first properly written big assignment now, you may wish to point a star to support qwq. 🤣 Thank you for your reading.😘 ## UI - log in screen
![log in screen](https://github.com/Cthaat/JavaChat/blob/master/src/main/resources/runTimePic/logIn.png) - registration screen
![registration screen](https://github.com/Cthaat/JavaChat/blob/master/src/main/resources/runTimePic/logUp.png) - error screen
![error screen](https://github.com/Cthaat/JavaChat/blob/master/src/main/resources/runTimePic/logInErroe.png) - User Lists
![User Lists](https://github.com/Cthaat/JavaChat/blob/master/src/main/resources/runTimePic/main.png) - chat room
![chat room](https://github.com/Cthaat/JavaChat/blob/master/src/main/resources/runTimePic/chatRoomP.png) > UI design is rather ugly, will be optimized in the future > If you have any suggestions, please feel free to submit them. > The next step is to realize the function 😊 --- ## Requirements and realization #### log in - [x] Login with account password - [x] false alert - [ ] memorize passwords - [ ] automatic login - [ ] Separate logins for administrators and regular users - [ ] verification code #### register - [x] Input box validation - [ ] verification code - [ ] Register Successful Alert - [ ] Avatar Settings - [ ] Email Verification Activation #### User Lists - [x] Your own friends list - [x] add a friend - [x] delete a friend - [x] Chat with friends - [ ] History messages - [ ] group chat - [ ] black lists - [ ] Add a friend to agree to the application #### chat room - [x] send a message - [x] receive a message - [x] Historical messages - [ ] Real-time message - [ ] Picture and file sending - [ ] Emoji sending - [ ] Voice sending - [ ] Video calling - [ ] kicker - [ ] ban user - [ ] Administrator Functions > These are all the features of Java Chat, and will continue to improve!
> The unfinished functions will be learned slowly
> If you think it's functional enough to be used as a big job
> Here's a tutorial on how to run it
> A few quick steps to get up and running 🥰
--- ## Running - Currently, the author doesn't have his own server 🙁 so you needs to set up your own server
- server-side JavaChatSer
- It will be deployed to the server later for your convenience 😘 --- ## Server deployment - Clone server-side code to local - Import Mysql database, create database and tables - Use `src/main/resources/javaChat.sql` to create tables - Download redis as a caching database - Starting the redis server - Modify the database connection information in the configuration file - The configuration information is in the `src/main/resources` resource folder. - Run the client and connect to the server --- ## Client Deployment - Clone client-side code to local - Download Java Environment - Note that JavaFx requires a separate download - Ruuuuuuuuuuun it. --- ## Technology used - Java - JavaFX - JDK 21 - SQL - Mysql - Redis - JDBC - database connection pool - Druid - GUI - SceneBuilder - CSS - FXML - network communication - Socket - JSON - HTTP - build tool - Maven - Spring - others - Jackson - Jedis - Lombok - Log4j - JUnit --- > Have fun!😘
> I hope you enjoy the program!
> We also hope that you will give us more advice and make progress together!
> If you have any questions or suggestions, please feel free to contact us by issue!
> Finally, thank you all for your support!🤗 --- Powered by [Cthaat](https://github.com/Cthaat)