ROAR development prerequisites¶
What do you need to get started?
Before you start developing ROAR apps, it is helpful to have some knowledge of the topics listed below. Don't be intimidated if you're not familiar with some things.
Imposter's Syndrome Disclaimer
There may be a little voice inside your head that is telling you that you're not ready to develop a ROAR application; that your skills aren't nearly good enough to contribute. What could you possibly offer a project like this one?
We assure you - the little voice in your head is wrong. If you can write at all, you can write a ROAR app. Creating your first web assessment is a fantastic way to advance one's coding skills. Writing perfect code isn't the measure of a good developer (that would disqualify all of us!); it's trying to create something, making mistakes, and learning from those mistakes. That's how we all improve, and we are happy to help others learn.
Here's what you need to know:
Familiarity with jsPsych
ROAR apps use jsPsych to create browser-based cognitive and behavioral assessments. jsPsych has some nice documentation to help you get started.
From jsPsych's own documentation
The page on timelines is a good place to start learning about jsPsych. From there, you might want to complete the hello world tutorial to learn how to set up a jsPsych experiment and the reaction time experiment tutorial to learn the core features of the framework.
Familiarity with the command shell
You will use the command shell to initialize your app and start your development server. We may use the words "shell", "console", "bash", or "command prompt" interchangeably. If you are new to the shell, we recommend the Software Carpentry introduction to the Unix shell.
Some knowledge of git and GitHub
git is a really useful tool for version control. GitHub sits on top of git and supports collaborative and distributed working.
If you're not yet familiar with git, there are lots of great resources to help you git started! Some of our favorites include the git Handbook and the Software Carpentry introduction to git.
In addition to the prerequisite knowledge above, you will need some software:
A command shell
A shell is a program where users can type commands. The terms "shell," "command shell", and "terminal" are used interchangeably throughout this guide. If you don't already have a command shell installed, you can follow these helpful instructions from The Carpentries to install the Bash shell. If you're not sure how to open a terminal on your operating system, see these instructions, also courtesy of The Carpentries.
A text editor
The default text editor on macOS and Linux is usually set to Vim, which is not famous for being intuitive. If you accidentally find yourself stuck in it, hit the Esc key, followed by :+Q+! (colon, lower-case 'q', exclamation mark), then hitting Enter to return to the shell.
git and a GitHub account
Follow the Software Carpentry instructions for downloading Git. You will also need an account at github.com. Basic GitHub accounts are free.