Update README #26

Merged
kske merged 1 commits from update-readme into develop 2020-09-16 22:39:35 +02:00
1 changed files with 43 additions and 36 deletions

View File

@ -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.
Review

Are we supposed to treat users now as if they are too incompetent to execute an executable or not? I'm receiving mixed signals...

Are we supposed to treat users now as if they are too incompetent to execute an executable or not? I'm receiving mixed signals...
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.
Review

😆

😆
## 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
Review

technically, any kind of attachment can already be sent. It just won't be displayed, but you can copy it out of the message...

technically, any kind of attachment can already be sent. It just won't be displayed, but you can copy it out of the message...
* 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