Update README (#26)
This commit is contained in:
commit
f98811c899
73
README.md
73
README.md
@ -1,45 +1,52 @@
|
|||||||
# Envoy
|
# 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>
|
<img src="https://git.kske.dev/repo-avatars/33-31e14133097b01b748ab361e3c3adb47" style="display: block" width="150" height="150">
|
||||||
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!).
|
|
||||||
|
|
||||||
## 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.
|
## Regular User
|
||||||
Currently existing features are:
|
|
||||||
|
|
||||||
#### '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)
|
When starting it for the first time, you can register yourself at a server of your choice.
|
||||||
* typical Messenger feeling (displaying unread messages)
|
After connecting to the server, you can add other users to your contact list and send them messages.
|
||||||
* Appealing user interface (UI)
|
|
||||||
|
|
||||||
* Programming
|
To chat with multiple users at once, you can create a group.
|
||||||
* API to change default configuration
|
If you want to transfer a file to another user, you can attach it to a message.
|
||||||
|
|
||||||
|
On the settings page some convenience features can be configured, as well as the color theme.
|
||||||
|
|
||||||
|
## 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
|
* Advanced logging possibilities
|
||||||
* Tons of Events to interact with
|
* Tons of Events to interact with
|
||||||
* Detailed Javadoc to improve readability of code
|
* Detailed Javadoc to improve readability of code
|
||||||
|
|
||||||
#### 'Common' contains:
|
### Common
|
||||||
* the event system
|
* Basic datatypes
|
||||||
* the logger
|
* Events sent between client and server
|
||||||
* Envoy-specific Exceptions
|
* Configuration API
|
||||||
* some util classes
|
* Logging API based on `java.util.logging`
|
||||||
* the most basic datatypes
|
* Envoy-specific Exception
|
||||||
|
* Useful utility classes
|
||||||
|
|
||||||
#### 'Server' contains:
|
### Server
|
||||||
* the database implementation of the data classes
|
* Non-blocking connectivity infrastructure based on `java.nio`
|
||||||
* the connectivity classes
|
* Processors to handle incoming events
|
||||||
* processors to handle incoming events
|
* Database connectivity
|
||||||
* Utility classes to check client version compatability and Password validity
|
* Databse entities
|
||||||
|
* Utility classes to check client version compatability and password validity
|
||||||
|
Reference in New Issue
Block a user