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 9b6d0f3c97
Add top level .settings folder to .gitignore
2020-09-06 11:15:20 +02:00
client Apply suggestions from code review from @CyB3RC0nN0R 2020-09-02 11:31:21 +02:00
common Reduce wildcard import threshold to 2 2020-09-02 10:32:44 +02:00
server Reduce wildcard import threshold to 2 2020-09-02 10:32:44 +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 Remove GitHub specific files 2020-09-06 11:12:03 +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