The application makes use of the following:
- Play Framework to implement the backend
- Akka and WebSockets to push new messages to the client
- AngularJS to communicate with the backend and manage the frontend
You need Java 8 and Typesafe Activator (bundled in this app) to run the application.
Then within the project directory just type
activator run
All routes are hardwired to localhost in the frontend. Thus you can only run the application on the same machine. In a real application we would also separate the frontend and deliver it from a dedicated HTTP server, reducing the number of requests for the backend.
By separating the frontend and the backend you might quickly have to deal with CORS and adding routes to handle Preflight Requests using OPTIONS.
Although there is already the concept of an account, there is no real authentication/authorization. If you want to learn more about it visit Deadbolt 2 or SecureSocial if you want to integrate with Facebook, Twitter & Co.