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 ecede45360 Add install script for developers on Debian-based operating systems 2020-08-15 09:37:16 +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 Fix edge case in AbstractListCell 2020-08-03 22:07:12 +02:00
common Apply code review suggestions from @CyB3RC0nN0R 2020-08-02 20:26:22 +02:00
server Add install script for developers on Debian-based operating systems 2020-08-15 09:37:16 +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
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