a minimal chat application
Latest commit 83989ad Nov 16, 2016 @Dierk committed on GitHub Update README.md
Failed to load latest commit information.
.idea remove gradle 2.6 Sep 16, 2016
client minor beautification Sep 16, 2016
gradle/wrapper streamlining build Sep 12, 2016
server client showing up Sep 15, 2016
shared client showing up Sep 15, 2016
.gitignore client showing up Sep 15, 2016
README.md Update README.md Nov 16, 2016
build.gradle client showing up Sep 15, 2016
gradle.properties client showing up Sep 15, 2016
gradlew streamlining build Sep 12, 2016
gradlew.bat streamlining build Sep 12, 2016
settings.gradle initial Sep 12, 2016


Frege Chat

This application has been developed in preparation of the JavaOne Emerging Languages panel, which Frege then did win for the second time in a row.

Every language was supposed to develop a chat application.

This project implements the Frege variant in an extremely simple fashion where clients share the state of the chat on a server, post new messages to the server, and update by requesting the current list of postings in a polling fashion using HTTP POST requests.

The server is implemented with the Chinook library (sparkjava for Frege).

The client is implemented with FregeFX (JavaFX for Frege).

How to build and run

The build needs the latest snapshot version of FregeFx 0.3.2, so you first need to build that locally with

cd my-fregefx-dir
gradlew install

After that preparation, you can build and run the server with

gradlew :server:run

(port 8080 should be unused on your machine)

and in a new terminal run clients via

gradlew :client:run

Any Java version 7, 8, or 9 should be fine.

Known issue

Due to version conflicts between Chinook and FregeFX, the shared module is only used for the server module (not for both server and client as it is intended). The client module temporarily maintains a copy of the shared "Data" definition.