Patternfly-Chat is a real time chat application that allows realtime communication for groups and individuals.
It features an architecture comprised of a frontend, a cache micro service, a redis cache, and an instance of a keycloak server.
The authentication side is leveraged by Keycloak and which makes management of client applications, users, and assignment of permissions and roles extremely simple. Management of application concurrency is handled by the cache micro service which relies on composite key and streaming features of redis.
The frontend communicates directly to keycloak server and the cache.
The frontend is React and the Cache is Node with es6 mods.
docker build -t cacheservice:chatapp . docker build -t frontend:chatapp .
Cache API, assuming the Cache is running on http://localhost:3332.
Ex. Store birthMonth to July and give it a time to live of 10 minutes
Ex. get birthMonth
Ex. Delete birthMonth
All of the resources used in this app are run in docker containers. Everything is accessible locally and extremely simple and fast to spin up.
docker run -d -p 6379:6379 redis
docker run -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin -e DB_VENDOR=H2 jboss/keycloak
Hover your mouse over the top of the left panel where is says "master" and a button will appear that says Add Realm.
npm i && npm start
cd Cache;
npm i && npm start