It's a web application that utilize a lot of cool frameworks. It can be used as a starting point or a template to create new web application based on it. Main features are: chatroom based on websockets, messages are stored in postgres, sessions are stored in redis, login via Google, VK, Linkedin, FB, Github using OAuth2, responsive bootstrap design, localisation.
See spring-boot version of app in spring-boot branch.
- Web framework: spark
- Template engine: velocity
- DB migration: flywaydb
- DBMS: postgres
- DBMS client: sql2o
- Session storage: redis
- Redis client: jedis
- OAuth2 library: scribejava
- Java additions: lombok
- Development envs: docker and docker-compose
To deploy app as docker container, with other components(nginx, postgres, redis) use instructions and deploy scripts here
Hosted on digitalocean.com droplet: 512MB / 1 CPU / 20GB SSD
wrk -t12 -c400 -d30s https://jeckep.online Running 30s test @ https://jeckep.online 12 threads and 400 connections Thread Stats Avg Stdev Max +/- Stdev Latency 791.85ms 479.19ms 1.99s 60.40% Req/Sec 27.63 21.61 190.00 73.08% 8010 requests in 30.10s, 26.95MB read Socket errors: connect 0, read 0, write 0, timeout 888 Requests/sec: 266.14 Transfer/sec: 0.90MB