Welcome to the Rave Build JavaScript Coding Test! A lot of our product at Rave involves managing projects, and the tasks required to complete those projects. This is reflected in this codebase, which represents some common functionality at Rave. We expect to spend 30 minutes to 1 hour on this test. Your objectives are:
- Get the tests passing
- Make the code "production ready" (whatever that means to you)
- Note down any choices or assumptions you made and why in this README
- Note down what you would do if you had more time in this README
- Send us this repository (or a link to your fork)!
NodeJS installations can be quite complicated and there are many different versions, so we have Dockerised the dependencies for this test in an attempt to simplify getting it running. You need to:
- Clone this Git repository
- Install Make. For Windows
follow one of these instructions.
For MacOS, install with homebrew like
brew install make
. For Linux, use your package manager likeapt install make
. - Install Docker. For Windows and MacOS we recommend installing Docker Desktop. For Linux distributions we recommend installing the Docker Engine.
- Check that Docker is working by running
docker run hello-world
. - Run
make install
to install the NodeJS dependencies
Run make test
to run the tests inside the running Docker container. If you'd
like the tests to run automatically, run make watch
.
Run make run
to execute index.js
. It is not required, but we have provided
it if you would like to just run JavaScript code to debug things.
- E.g. I assumed that task names were unique
- E.g. I would have rewritten it to use Rust because it's super fast and that's what Khan Academy did!