Update README (#26)
This commit is contained in:
commit
f98811c899
79
README.md
79
README.md
@ -1,45 +1,52 @@
|
||||
# Envoy
|
||||
---
|
||||
<a href="https://git.kske.dev/zdm/envoy"><img src="https://git.kske.dev/repo-avatars/33-31e14133097b01b748ab361e3c3adb47" align="right" width="150" height="150"></a>
|
||||
|
||||
**Envoy** is a messenger written in Java.<br>
|
||||
It is split into three separate components: Envoy Client, Envoy Common and Envoy Server.
|
||||
<br><br><br><br><br>
|
||||
---
|
||||
### Envoy Client:
|
||||
This is the only part users are interested in. It contains everything to make this messenger work: the UI.
|
||||
### Envoy Server:
|
||||
Envoy offers the option to download and host your own server over which Envoy can run.<br>
|
||||
This part will be especially appealing to institutions/organizations who want to self-host Envoy.
|
||||
### Envoy Common:
|
||||
This part contains elements that both the client and the server need. It will be automatically part of either one (Thanks, Maven!).
|
||||
<img src="https://git.kske.dev/repo-avatars/33-31e14133097b01b748ab361e3c3adb47" style="display: block" width="150" height="150">
|
||||
|
||||
## Features
|
||||
Envoy is a messenger written in Java.
|
||||
On this page, the project is explained for different user groups.
|
||||
|
||||
Envoy features a lot of things and many more are yet to come.
|
||||
Currently existing features are:
|
||||
## Regular User
|
||||
|
||||
#### 'Client' contains:
|
||||
To use Envoy to join an existing server, download the client from the [release page](https://git.kske.dev/zdm/envoy/releases).
|
||||
|
||||
* typical Messenger features (sending and receiving of messages, groups, sending images and voice messages)
|
||||
* typical Messenger feeling (displaying unread messages)
|
||||
* Appealing user interface (UI)
|
||||
When starting it for the first time, you can register yourself at a server of your choice.
|
||||
After connecting to the server, you can add other users to your contact list and send them messages.
|
||||
|
||||
* Programming
|
||||
* API to change default configuration
|
||||
* Advanced logging possibilities
|
||||
* Tons of Events to interact with
|
||||
* Detailed Javadoc to improve readability of code
|
||||
To chat with multiple users at once, you can create a group.
|
||||
If you want to transfer a file to another user, you can attach it to a message.
|
||||
|
||||
#### 'Common' contains:
|
||||
* the event system
|
||||
* the logger
|
||||
* Envoy-specific Exceptions
|
||||
* some util classes
|
||||
* the most basic datatypes
|
||||
On the settings page some convenience features can be configured, as well as the color theme.
|
||||
|
||||
#### 'Server' contains:
|
||||
* the database implementation of the data classes
|
||||
* the connectivity classes
|
||||
* processors to handle incoming events
|
||||
* Utility classes to check client version compatability and Password validity
|
||||
## Server Administrator
|
||||
|
||||
To set up an Envoy server, download the package from the release page.
|
||||
|
||||
Because the project lacks external documentation for the moment, please refer to the Javadoc inside the source code to configure your Envoy instance.
|
||||
|
||||
## Programmer
|
||||
|
||||
Envoy is organized as a Maven project that is split into three modules.
|
||||
|
||||
### Client
|
||||
|
||||
* Sending and receiving of messages, groups, sending images and voice messages
|
||||
* User interface (UI)
|
||||
* Client configuration
|
||||
* Advanced logging possibilities
|
||||
* Tons of Events to interact with
|
||||
* Detailed Javadoc to improve readability of code
|
||||
|
||||
### Common
|
||||
* Basic datatypes
|
||||
* Events sent between client and server
|
||||
* Configuration API
|
||||
* Logging API based on `java.util.logging`
|
||||
* Envoy-specific Exception
|
||||
* Useful utility classes
|
||||
|
||||
### Server
|
||||
* Non-blocking connectivity infrastructure based on `java.nio`
|
||||
* Processors to handle incoming events
|
||||
* Database connectivity
|
||||
* Databse entities
|
||||
* Utility classes to check client version compatability and password validity
|
||||
|
Reference in New Issue
Block a user