A SputnikN chat server written with Kotlin and Akka
The chat ecosystem consists of several dependent repositories:
- Database code gen - Class generator according to the DB schema, the DB schema is attached;
- Transport code gen - Transport message generator between Client and Server;
- Chat server - High loaded and scalable chat server written with Akka/Ktor/Rest/WebSocket/Protobuf/Jooq;
- Client chat SDK - SDK client chat library for embedding in third-party applications written in Flutter;
- Sample application - An example of a chat application using the SDK client library written with Flutter;
Project builds with all-in-one
included dependency libraries as fat jar
and after build can be copied and used as standalone console application.
To build run:
<project_dir>/gradlew clean shadowJar
Before use define system variables:
JDBC_DRIVER=org.postgresql.Driver
JDBC_DATABASE_URL=jdbc:postgresql://localhost:5432/sputniknchat?user=postgres&password=ok
JDBC_POOL_SIZE=10
To use run:
java -jar <project_dir>/build/libs/sputnikn_chat_server-1.0-SNAPSHOT-all.jar
Avoid to send same responseId
to all recipients, this may cause a problem at client side!