A web application for collaborative document annotation.
Full documentation can be found here.
GATE teamware provides a flexible web app platform for managing classification of documents by human annotators.
- Configure annotation options using a highly flexible JSON config.
- Set limits on proportions of a task that annotators can annotate.
- Import existing annotations as CSV or JSON.
- Export annotations as CSV or JSON.
- Annotation instructions and document rendering supports markdown and HTML.
- Deploy with kubernetes or docker compose.
The simplest way to deploy your own copy of GATE Teamware is to use Docker Compose on Linux or Mac. Installation on Windows is possible but not officially supported - you need to be able to run bash
shell scripts for the quick-start installer.
- Install Docker - Docker Engine for Linux servers or Docker Desktop for Mac.
- Install Docker Compose, if your Docker does not already include it (Compose is included by default with Docker Desktop)
- Download the installation script into an empty directory, run it and follow the instructions.
mkdir gate-teamware
cd gate-teamware
curl -LO https://gate.ac.uk/get-teamware.sh
bash ./get-teamware.sh
A Helm chart is also available to allow deployment on Kubernetes.
Follow these steps to run the app on your local machine using docker-compose
:
- Clone this repository by running
git clone https://github.com/GateNLP/gate-teamware.git
and move into thegate-teamware
directory. - From inside the
gate-teamware
directory run./generate-docker-env.sh
to create a set of passwords and keys in a.env
file. - Run
./build-images.sh
to build the backend and frontend images, this may take a while the first time it is run. Images are built usingdocker buildx
, which requires Docker Engine 19.03 or later. - Run
./deploy.sh production
or./deploy.sh staging
. Note: You may want to change the value ofDJANGO_ALLOWED_HOSTS
indeploy.sh
to match the URL(s) that you are deploying to.
Open 127.0.0.1:8076
(the default IP & port) in your browser. The initial admin login has the username admin
and password password
, this should be changed immediately. Note: the port is set in docker-compose.yml
.
Notes on deployment:
- A development server can be run without docker, see the developer documentation for more info.
- A Helm chart is available to deploy GATE Teamware on a kubernetes cluster.
Developer documentation is provided here.
We welcome contributions to this open source project. Please create a fork of this repository and make a pull request against the dev
branch with your changes.
Teamware is developed by the GATE team, an academic research group at The University of Sheffield. As a result, future funding relies on evidence of the impact that the software provides. If you use Teamware, please let us know using the contact form at gate.ac.uk. Please include details on grants, publications, commercial products etc. Any information that can help us to secure future funding for our work is greatly appreciated.
For published work that has used Teamware, please cite this repository. One way is to include a citation such as:
Karmakharm, T., Wilby, D., Roberts, I., & Bontcheva, K. (2022). GATE Teamware (Version 0.1.4) [Computer software]. https://github.com/GateNLP/gate-teamware
Please use the Cite this repository
button at the top of the project's GitHub repository to get an up to date citation.