diff --git a/README.md b/README.md index b2fd7be..bff2c5d 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,12 @@ This repository is meant to be used with the [Copier](https://copier.readthedocs Detailed instructions for how to use Copier with this repository can be found [here](docs%2Fcopier.md). +Details of the Copier questionnaire are described [here](docs/questionnaire.md). + #### Copier will generate some configuration files along with the web application. -A `Dockerfile` will be created so that the web application can be deployed as a container if the target server supports containers. +GitHub Actions `yaml` files can, optionally, be created for automating deployment from a GitHub repository, should you choose to commit the web application Copier creates. These will be in the `.github/workflows` subdirectory and may be "hidden" in your system user interface. They should be visible from the shell/terminal. -Two GitHub Actions `yaml` files will be created for automating deployment from a GitHub repository, should you choose to commit the web application Copier creates. These will be in the `.github/workflows` subdirectory and may be "hidden" in your system user interface. They should be visible from the shell/terminal. +A `Dockerfile` can, optionally, be created so that the web application can be deployed as a container if the target server supports containers. -Even if your target server does not come with Docker installed, if you would like to try Docker locally we have compiled some instructions for getting started [here](docs%2Fdocker.md). One of the GitHub Actions yaml files supports deploying using the `Dockerfile`. The advantage here is that how the web application functions in your local instance of Docker will be a faithful representation of how it will function on the deployment server. \ No newline at end of file +Even if your target server does not come with Docker installed, if you would like to try Docker locally we have compiled some instructions for getting started in the Copier output repository docs folder. One of the GitHub Actions yaml files supports deploying using the `Dockerfile`. The advantage here is that how the web application functions in your local instance of Docker will be a faithful representation of how it will function on the deployment server. diff --git a/template/README.md b/template/README.md index a9afa02..709ed36 100644 --- a/template/README.md +++ b/template/README.md @@ -1,14 +1,30 @@ # Web-based Behavioral Closed Loop Experiment -This is a tutorial on running web based behavioral experiments with autora. +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. -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. +To start the web app locally you can simply run the start script from a terminal. + +```shell +./start.sh +``` ## Write Your Code -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. +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. + +## Major Technologies in Use + +### ViteJS + NodeJS + npm + +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. + +### jsPsych + +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`. + +### FastAPI -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. +This project uses [`FastAPI`](https://fastapi.tiangolo.com/tutorial/) for the backend web framework and [`uvicorn`](https://www.uvicorn.org/) as a web server. For more detailed information on customizing JsPsych experiments, including documentation and examples, visit [here](https://www.jspsych.org/v7/overview/timeline/).