This is an Implicit Association Test (IAT) designed to measure the strength of stereotypes on skin tones. This test was created for the Ethnoracial Discrimination in Mexico Research Project at El Colegio de México.
- Overview 🔍
- Deployment and Configuration Instructions 📦
- IAT Results 📊
- Build Info 👷
- Security 🚓
- License 📃
This IAT is based on the Stereotype Content Model (SCM). It measures the strength of associations between two target categories (dark skin, white skin) and implicit stereotypes.
The server side implementation uses Python (mainly Flask), to process user interaction, serve dynamic pages, and manage sessions. It also uses MongoDB as the main storage service. The Python application exposes a Public REST API as the main way of communication with the client side (a basic mix of plain JS, SASS, and HTML) and other software.
To compute the IAT effect, we implemented the scoring algorithm proposed by A. G. Greenwald and B. A. Nosek in "Understanding and Using the Implicit Association Test: I. An ImprovedScoring Algorithm", which at its core uses Cohen's d to compare the user latency.
IAT design: Stephanie Posadas Narvaéz.
IAT implementation: Pablo Reyes Moctezuma.
Content review: Elisa Marcela Cheng Oviedo, Patricio Solís Gutiérrez.
First of all, if you're deploying this IAT on a remote server, make sure that you have ssh access to it and that your user is in the sudoers group. You can deploy the IAT using Docker (recommended) or by directly installing it on your server (only advanced users).
To deploy this app using Docker, you need to have Docker installed in your system. If you don't have it, please follow the instructions provided here.
Start by cloning this repository.
git clone https://github.com/pablorm296/IAT-PRODER.git
Move to the Config/
directory in the cloned repository. Inside, you'll see two configuration files: app-sample.config.json
and stimuli.config.json
. The first is an example of how the main configuration file should look like. The second file contains the stimuli to be used during the IAT.
Edit app-sample.config.json
as required and save it as app.config.json
.
Make sure that the Mongo database name, username, and passwords match your Mongo container configuration (see below). You will also need Google reCaptcha keys. You can sign up to Google reCaptcha and get them here.
Please, use a strong secret app key. The key defined in secret_key
will be used to sign the session cookies used by the web app. A weak key can be cracked, allowing users to freely modify the session cookie.
Move to the Docker/Mongo/Config
directory in the cloned repository. Inside, you'll see two files: db_secrets-example
and root_secret-example
. Both are examples of the configurations files that define Mongo credentials and the container's root password, respectively.
Edit db_secrets-example
. You'll need to define an username and password for the DB admin and the App reader/writer. You'll also need to specify the name of the DB for the app. Please, make sure that the Mongo fields in app.config.json
(see above) match the credentials and DB name defined in this file. After editing, save it as db_secrets
.
Edit root_secret-example
and save it as root_secret
. In this file you need to define the container's root password.
Please, use strong passwords. The Mongo container was configured to allow only authenticated users to perform read/write operations. However, if you use weak passwords, DB info can be easily compromised.
See LICENSE for more information on licensing.