Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/florinamt/chat-client-server-system_tcp-sockets
Chat client-server system using TCP sockets.
https://github.com/florinamt/chat-client-server-system_tcp-sockets
client-server factory-method-pattern files java javafx mvvm-pattern observer-design-pattern singleton-pattern sockets-tcp
Last synced: about 1 month ago
JSON representation
Chat client-server system using TCP sockets.
- Host: GitHub
- URL: https://github.com/florinamt/chat-client-server-system_tcp-sockets
- Owner: FlorinaMt
- Created: 2024-03-27T09:33:34.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-09-15T19:49:11.000Z (3 months ago)
- Last Synced: 2024-09-15T20:56:15.974Z (3 months ago)
- Topics: client-server, factory-method-pattern, files, java, javafx, mvvm-pattern, observer-design-pattern, singleton-pattern, sockets-tcp
- Language: Java
- Homepage:
- Size: 8.68 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# About project
Simple chat client-server system using sockets. Create account, send text messages to other users or request information from server using commands: "/list", "/number", "/last". The whole conversation is logged in .txt files, one file for each day.
## Requirements
The client must be able to 1) send messages, 2) receive messages broadcasted to all clients and 3) request information from the server (not broadcasted to other clients, e.g. number of connected chatters, list of connected chatters or similar).
The application must:
- use Sockets connecting client and server, with the server being multithreaded
- use MVVM with at least two windows.
- use the Observer design pattern.
- use Multiton as a log to the server console and to file(s). It should always be possible to find all the communication for an entire day –text, ip address, date and time.
- use the Factory method, e.g. for different kinds of objects to send between server and client.
### Protocols
![image](https://github.com/betelgeuseBet/Chat-Client-Server_TCP-Sockets/assets/151634373/76c10bfa-7221-424c-b7f7-50a5f58199dd)### Class diagram
![image](https://github.com/betelgeuseBet/Chat-Client-Server_TCP-Sockets/assets/151634373/711d3178-8c67-4e60-9812-f5bc7741d1ba)Diagrams also available as .asta files.