36 lines
1.3 KiB
Markdown
36 lines
1.3 KiB
Markdown

|
|
|
|
A 2nd year Vilnius University Computer Science Course project.
|
|
|
|
A Java and JavaFX based messaging platform demo.
|
|
|
|

|
|
|
|
## Video
|
|
|
|
<video width="750" height="486" controls src="https://i.imgur.com/DGGXss0.mp4"></video>
|
|
|
|
## Components
|
|
|
|
Gossip is split into 3 parts, each of their own folder:
|
|
|
|
* [**Lib**](https://git.wiing.dev/bloodwiing/Gossip/src/branch/main/Lib)
|
|
- The main Library, standardising packet communication between Clients and Servers as well as data types.<br>Both **Client** and **Server** must import this module.
|
|
|
|
* [**Client**](https://git.wiing.dev/bloodwiing/Gossip/src/branch/main/Client)
|
|
- JavaFX application that connects to the **Server** and reacts to & renders packets asynchronously.
|
|
|
|
* [**Server**](https://git.wiing.dev/bloodwiing/Gossip/src/branch/main/Server)
|
|
- A simple Java server with a non-persistent Database
|
|
|
|
## Technical
|
|
|
|
Once a user creates an account, the server generates an ID and Secret for the user.
|
|
|
|
The ID can identify a User and be used to retrieve public information such as username and avatar. But authentication happens with the generated Secret.
|
|
|
|
To perform any user action, the client must provide the secret alongside.
|
|
|
|
## Libraries
|
|
|
|
* [JavaFX](https://openjfx.io/) |