jb3 is a KISS tribune powered by java, spring boot and mongodb.
- last id
A live demo is accessible [here](https://b3.bci.im).
## Coincoin configuration
You can also configure your favorite coincoin using these parameters:
- backend URL: https://b3.bci.im/legacy/xml
- post URL: https://b3.bci.im/legacy/post
- post data: message=%m
- tags: encoded
## Advanced coincoin configuration
- backend using last id: https://b3.bci.im/legacy/xml?last=%last
- post returns backend: post request to https://b3.bci.im/legacy/post include backend data (same as GET https://b3.bci.im/legacy/xml response).
- post message using last id: message=%m&last=%last
- XPOST: post reply body contains last messages
- X-Post-Id: post reply returns posted message id in X-Post-Id header
Rooms are like IRC channel. From a coincoin, they can be seen as independent tribune.
- room backend : https://b3.bci.im/legacy/xml?room=%room
- post message in a room: message=%m&room=%room
## Gateway rooms
Gateway are used to receive and post on external tribunes or other chat systems.
# Build and run demo using [docker](https://www.docker.com/)
Run the following commands:
docker build --tag=jb3 https://github.com/devnewton/jb3.git
docker run -p 8080:8080 jb3
Then access to the jb3 application using a web browser on http://localhost:8080
# How to use
## Skill check
Please note that a thorough knowledge of Java web application development and hosting is required.
- JDK 8+
- Maven 3+
- mongodb 2+
## Run locally
Ensure that mongodb is running and listening on 127.0.0.1 then run:
java -jar target/jb3-*.jar
The frontend is now accessible on [locahost:8080](http://localhost:8080).
## Deploy and hosting on a production server
There is several options to deploy and host jb3. Here is one that requires:
- a domain name (example: mydomain.me).
- a web server with http proxy capabilities (example [ngix](http://nginx.org/)).
### Application configuration
In production environnement, please add
to your application.properties configuration. If you don't do it, jb3 will do
VERY INSECURE operations like:
- not verifying self signed HTTPS certificates.
- not verifying untrusted HTTPS certificates.
It is VERY RECOMMENDED, to use jb3.secure=true and add certificates to your
1. Build and launch jb3 on the server.
2. Configure your web server to act as reverse proxy on http://localhost:8080