|
1 | 1 | # Web-based Behavioral Closed Loop Experiment |
2 | 2 |
|
3 | | -This is a tutorial on running web based behavioral experiments with autora. |
| 3 | +This project, generated by Copier from [the AutoRA-experiment-server repo](https://github.com/gt-sse-center/AutoRA-experiment-server), is the website that is served to the participant. The data store gets populated with conditions from the autora-runner and stores observations when participants visit the website. The autora-runner will read the observations and pass them to the theorist. |
4 | 4 |
|
5 | | -This repository is the website that is served to the participant.The datastore gets populated with conditions from the autora-runner and stores observations when participants visit the website. The autora-runner will read the observations and pass them to the theorist. |
| 5 | +To start the web app locally you can simply run the start script from a terminal. |
| 6 | + |
| 7 | +```shell |
| 8 | +./start.sh |
| 9 | +``` |
6 | 10 |
|
7 | 11 | ## Write Your Code |
8 | 12 |
|
9 | | -The autora_workflow.py file shows a basic example on how to run a closed loop autora experiment. Navigate [here](https://autoresearch.github.io/autora/) for more advanced options. |
| 13 | +The [autora_workflow.py](https://github.com/AutoResearch/autora-user-cookiecutter/blob/main/%7B%7B%20cookiecutter.__project_slug%20%7D%7D/researcher_hub/autora_workflow.py) file shows a basic example on how to run a closed loop autora experiment. Navigate [here](https://autoresearch.github.io/autora/) for more advanced options. |
| 14 | + |
| 15 | +## Major Technologies in Use |
| 16 | + |
| 17 | +### ViteJS + NodeJS + npm |
| 18 | + |
| 19 | +This project uses "vanilla" Javascript, the [`ViteJS`](https://vitejs.dev/guide/static-deploy.html#building-the-app) dev build server, and [`npm`](https://nodejs.org/en/learn/getting-started/an-introduction-to-the-npm-package-manager) for Javascript dependency management. The frontend is defined, including its dependencies, in the `package.json` file. |
| 20 | + |
| 21 | +### jsPsych |
| 22 | + |
| 23 | +The core Javascript dependency is [`jsPsych`](https://www.jspsych.org/v7/) which is used to define the behavioral experiment(s). The Copier output will initialize a `jsPsych timeline` in `main.js` based on your Copier questionnaire responses. `main.js` contains the core logic and setup for the experiment. [jsPsych provides comprehensive timeline documentation](https://www.jspsych.org/v7/overview/timeline/) to help you define your trials. If you wish to customize the experiment (e.g., modifying trials, adjusting settings, or adding new features) please do so by working with the `timeline` in `main.js`. |
| 24 | + |
| 25 | +### FastAPI |
10 | 26 |
|
11 | | -The code for the JsPsych experiment is located in the main.js file. This file contains the core logic and setup for the experiment. If you wish to customize the experiment (e.g., modifying trials, adjusting settings, or adding new features), please refer to main.js as the primary entry point. |
| 27 | +This project uses [`FastAPI`](https://fastapi.tiangolo.com/tutorial/) for the backend web framework and [`uvicorn`](https://www.uvicorn.org/) as a web server. |
12 | 28 |
|
13 | 29 | For more detailed information on customizing JsPsych experiments, including documentation and examples, visit [here](https://www.jspsych.org/v7/overview/timeline/). |
14 | 30 |
|
|
0 commit comments