An instant messaging application with a self-hostable server.
b92a57eac7
Added ability to save attachments. |
||
---|---|---|
.github | ||
.settings | ||
client | ||
common | ||
server | ||
.gitignore | ||
.project | ||
LICENSE | ||
pom.xml | ||
README.md |
Envoy
Envoy is a messenger written in Java.
It is split into three separate components: Envoy Client, Envoy Common and Envoy Server.
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.
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 features a lot of things and many more are yet to come. Currently existing features are:
'Client' contains:
-
typical Messenger features (sending and receiving of messages, groups, sending images and voice messages)
-
typical Messenger feeling (displaying unread messages)
-
Appealing user interface (UI)
-
Programming
- API to change default configuration
- Advanced logging possibilities
- Tons of Events to interact with
- Detailed Javadoc to improve readability of code
'Common' contains:
- the event system
- the logger
- Envoy-specific Exceptions
- some util classes
- the most basic datatypes
'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