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
delvh 5d26d33497
Updated config mechanism and added config for the server
Additionally fixed a small bug in EnvoyLog and envoy.server.Startup,
fixed Receiver not stopping when the server was stopped
and added access token authorization for the server config
2020-08-22 13:15:42 +02:00
.github Updated issue templates 2020-07-25 10:43:26 +02:00
.settings Refactor Maven Project Structure 2020-07-13 15:16:22 +02:00
client Updated config mechanism and added config for the server 2020-08-22 13:15:42 +02:00
common Updated config mechanism and added config for the server 2020-08-22 13:15:42 +02:00
server Updated config mechanism and added config for the server 2020-08-22 13:15:42 +02:00
.gitignore Refactor Maven Project Structure 2020-07-13 15:16:22 +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
pom.xml Speed up build, move compiler configuration to parent POM 2020-07-18 13:32:49 +02:00
README.md Added README.md 2020-07-18 15:58:39 +02:00

Envoy


GitHub milestone GitHub pull requests GitHub issues

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