An instant messaging application with a self-hostable server.
This repository has been archived on 2021-12-05. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Kai S. K. Engelbart 8829f267ec Merge pull request 'Replace the Internal Event Bus with Event Bus 0.0.3' (#20) from integrate-event-bus into develop
Reviewed-on: https://git.kske.dev/zdm/envoy/pulls/20
2020-09-09 18:30:31 +02:00
client Replace the internal event bus with Event Bus 0.0.3 2020-09-08 20:41:01 +02:00
common Replace the internal event bus with Event Bus 0.0.3 2020-09-08 20:41:01 +02:00
server Replace the internal event bus with Event Bus 0.0.3 2020-09-08 20:41:01 +02:00
.gitignore Add top level .settings folder to .gitignore 2020-09-06 11:15:20 +02:00
.project Refactor Maven Project Structure 2020-07-13 15:16:22 +02:00
LICENSE Refactor Maven Project Structure 2020-07-13 15:16:22 +02:00
README.md Restored compatability with new VCS 2020-09-06 12:17:45 +02:00
pom.xml Speed up build, move compiler configuration to parent POM 2020-07-18 13:32:49 +02:00

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