exbuilder
Search
K
Comment on page

Directory structure

Brief overview

Here is an overview of the files and folders included in every exbuilder project. Click on any top-level file or folder to learn more.
file or directory
📁
analyses
|-----
📁
sample-jupyter-analysis
|-----
📁
sample-rstudio-analysis
📁
database
|-----
📄
init.sql
📁
experiments
|-----
📁
exbuilder
|-----
📁
experiment1-jspsych
|-----
📁
experiment2-jspsych-record
|-----
📄
config-exbuilder.json
|-----
📄
index.html
📁
preregistrations
|-----
📄
readme.md
📄
.env.sample
📄
.gitignore
📄
LICENSE
📄
README.md

More details

The analyses directory

The analyses directory includes two sample analysis folders: sample-jupyter-anaysis and sample-rstudio-analysis. The analysis folder is mapped to the work folder inside your project's rstudio and jupyter containers so work you do in the containers will be saved on your local machine. Learn more about doing your analyses in the exbuilder framework on the Analyses page. You can rename the analyses directory provided you tell exbuilder via the ANALYSES_DIRECTORY variable in your .env file.

The database directory

The database directory includes the init.sql file, which You can rename the database directory provided you tell exbuilder via the DATABASE_DIRECTORY variable in your .env file.

The experiments directory

The experiments directory is setup to hold your web experiments. It contains the exbuilder folder, which includes exbuilder's javascript and php scripts that handle writing to the database among other things. It also includes sample experiments (experiment1-jspsych and experiment2-jspsych-recordaudio) demonstrating how to use exbuilder with web experiments, including exbuilder's audio recording object ExbuilderRecordAudio. The index.html file is a landing page for exbuilder's webserver, helping you to generate URL variables for your experiments, and config-exbuilder.json, a configuration file in which you can customize some things about your landing page. More details are available on the Experiments page. The experiments folder is mapped to the /var/www/html folder inside your project's nginx container. You can rename the experiments directory provided you tell exbuilder via the EXPERIMENTS_DIRECTORY variable in your .env file.

The preregistrations directory

The preregistration directory is a placeholder for preregistrations and comes with readme.md, a document with some suggestions for how to preregister. You can rename this directory or delete it if you don't need it.

The .env.sample file

The .env.sample file is a sample .env file. .env files are used to tell exbuilder about the environment it is running in, like your local computer. .env files can contain sensitive information like database passwords, so exbuilder is setup to ignore .env files in version control (see .gitignore). Learn more about configuring your environment on the Configure Environment page.

The .gitignore file

The .gitignore file tells git to ignore files or folders that should not be tracked or committed to your project repository. exbuilder comes with a .gitignore file setup to ignore just a few system files, log files, and environment files. You can add to this file if you want or need to.

The docker-compose.deploy file

The docker-compose.deploy.yml file tells docker to build your project's webserver (nginx and php containers) and to join the exbuilder_deployer docker network. It is used to deploy your exbuilder experiments to your own cloud server for data collection. Learn more about deploying your exbuilder experiments on the Deployment page.

The docker-compose.yml file

The docker-compose.yml file tells docker how to build exbuilder's fleet of docker containers: webserver (composed of nginx, php, and postgres containers), jupyter, and rstudio. The docker-compose.yml file is used for developing web experiments and analyzing data locally, as well as sharing your work with others.

The LICENSE file

The LICENSE file includes exbuilder's license. You may wish to delete this file and select a different license if you choose to share your project publically.

The README.md file

The README.md file describes exbuilder breifly. We recommend modifying this file to describe to others (or your future self) how to start your project's containers. We've provided some sample language on the sample readme file page.