An annotation interface for detailed text annotation by crowdworkers along researcher-defined topics of interest. Under development for the Deciding Force Project. Currently, this app only runs locally.
The backend is supported by Docker. If you do not have it already, you will need to install it.
- For OS X, go here.
- For Windows, go here.
- For Ubuntu and other Linux distributions, install
docker and
docker-compose.
To avoid having to use sudo when you use the docker command,
create a Unix group called docker and add users to it:
sudo groupadd docker
sudo usermod -aG docker $USER
Once installed, start the Docker application (if on a Mac), then go to the project directory and run:
docker-compose build --no-cache
docker-compose up -d
# wait about 10 seconds./init_docker.sh
npm install
npm run dev
You will only need to run the above commands once. Those will do the preliminary setup for the application by installing the dependencies and seeding the Docker containers to setup the database.
Use docker-compose stop
to stop the containers or docker-compose down
to both stop and remove the containers.
You will have to refresh your containers depending on the types of changes that happen as you develop, or when you switch to another git branch.
If you are NOT CERTAIN what has changed in the current commit since the last time the containers were initialized and started, the most prudent course is to perform ALL of the following steps. If you want to take a shortcut, use the following table as a guide. But you should probably perform ALL the steps and then test your work before submitting a pull request.
To refresh your containers, first stop and remove them with:
docker-compose down
Step | Command | Restart at this step when: |
---|---|---|
2. | docker-compose build |
requirements.txt changes |
3. | docker-compose up -d |
sample data changes |
4. | ./init_docker.sh |
|
5. | npm install |
package.json changes |
6. | npm run dev |
webpack changes |
7. | npm run build |
after any changes to front-end code |
To view a browsable interface for the queries, navigate to localhost:5000/api/
.
For easier front-end development, we recommend React Dev Tools and the Redux Dev Tools. Other install options for Redux DevTools are discussed in Redux DevTools Extension README.