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 9f517cfc6b Added better dependency injection mechanism and purified LoginScene
one thing could for whatever reason not be avoided: Even though the
processors of the caches inside WriteProxy are initialized, they somehow
get "de-initialized" and have to be initialized again...
2020-09-01 20:14:02 +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 Added better dependency injection mechanism and purified LoginScene 2020-09-01 20:14:02 +02:00
common Remove project specific .gitignore files 2020-08-31 08:52:58 +02:00
server Remove project specific .gitignore files 2020-08-31 08:52:58 +02:00
.gitignore Remove project specific .gitignore files 2020-08-31 08:52:58 +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 Added README.md 2020-07-18 15:58:39 +02:00
pom.xml Speed up build, move compiler configuration to parent POM 2020-07-18 13:32:49 +02:00

README.md

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