anchor.diff:  # Bimgur image:https://travis-ci.org/bimgur/bimgur.svg?branch=master["Build Status", link="https://travis-ci.org/bimgur/bimgur"]
   
  -NOTE: THIS IS NO LONGER VALID AND WILL BE UPDATED SOON (migrating from Scala.js to JavaFX)
  +Activiti-based workflow applications to process bacterial images.
   
  -An Activiti-based workflow application to process bacterial images.
  +## Clients
  +
  +Bimgur offers two client applications:
  +
  +### BimgurFX
  +
  +* A workflow application which tracks image analysis tasks
  +* Allows students to claim an image analysis task, work on it, mark it complete etc.
  +* Allows scientists to track image analysis progress
  +
  +Technically, this is a JavaFX fat client which can be installed on any operating system.
  +
  +### Actitivi Explorer
  +
  +* An administration tool to manage the workflow engine
  +* Allows scientists to create new BimgurFX users
  +* Allows scientist to define new BimgurFX image analysis workflows
  +
  +Technically, this is a web application which can be accessed through a browser.
  +This application is provided out out-of-the-box by the http://activiti.org[Activiti project].
   
   ## Architecture
   
  -Bimgur uses a three-tier architecture:
  +TODO: Image
   
  -* PostgreSQL Database
  -* Apache Tomcat Server
  -* Web Frontend
  +## Project Structure
   
  -Two web applications are available:
  +`bimgur-server`
   
  -* *Activiti Explorer*: Allows to _administrate_ workflows and users
  -* *Bimgur*: Allows to _execute_ workflows (i.e. start processes, work on tasks, etc)
  +* Activiti Explorer and Activiti REST (as WARs)
  +* PostgreSQL configuration
  +* Tomcat configuration
  +* Example image data
   
  -Activiti Explorer is an application provided out-of-the-box by the http://activiti.org[Activiti project].
  -Bimgur is a Scala.js application whose code is contained in this repository.
  -Both, Activiti Explorer and Bimgur, connect to the same PostgreSQL database.
  -Bimgur uses the Activiti REST layer to do so.
  +`bimgur-activiti-custom`
  +
  +* Custom workflow definitions
  +* Bootstrap code (deploy custom workflows upon server start)
  +* Custom service task implementations
   
   ## Development Setup
   
  -Installing a server, a database, and multiple frontend components can be tedious.
  -To simplify things, https://www.docker.com[Docker] allows to create a virtualized installation via script.
  +Installing a server, a database, and deploying custom code can be tedious.
  +To simplify things, https://www.docker.com[Docker] allows to create a virtual installation via script.
   The script is called `Dockerfile` and contains all necessary steps:
   
   * Installs PostgreSQL
  
positive.code: * Deploys Activiti REST
  * Add custom Activiti code (to Explorer and REST app)
  
  In the end we will have a neat bundle called a _docker image_.
  We will then create an instance of this image (called a container) and mount all Bimgur Scala.js client artifacts into it.
  These static files will then be served via Tomcat.
  
  For all these steps to succeed, the necessary artifacts first need to be compiled.
  The Scala Build Tool (SBT) is used for this purpose: A custom `dockerize` command encapsulates all necessary tasks.
  
  ### Compile Artifacts
  
  
negative.code: * gonzo/gonzo (Manager)
  * fozzie/fozzie (User)
  
  # Running BimgurFX
  
  TODO
  