The app allows you to start the server, connect multiple clients in different chatrooms and chating
The general architecture of the program is based on the Client-Server pattern, every client starts in multithreads mode and has a console interface.
- The application is coded in
Java 8
, run withSpring Boot
, configurated withSpring Annotations
; - Users, Messages and Chatrooms are stored in DataBase
PostgreSQL
; - Work with DB implemented through
Jpa Hibernate
; - Project assembly implemented on
Maven
; - Clients starts in
asynchronous multithreads mode
;
The app allows you to create new account or enter in existing account.
Every password is encoded with PasswordEncoder from Spring Security
.
After registration every user can choose the existing chatroom and join to other clients in this chat or can create his own chatroom.
Every user can see only messages from current chat and send messages to this chat
If user was in current chatroom and chatted with friends already, after sign in he get the latest 30 messages from this chat
To run the server you need to specify a specific port and run the server program with arguments like this:
--port=8000
To run each client you need specify arguments like this:
--server-port=8000