A few years ago when I was
learning programming with similar tools I wondered how them worked and now I'm building my own, I achieved it by going beyond my knowledge of web development, designing the data model, using docker to execute the user’s code with NodeJS inside isolated containers with the help of an open source library, building the infrastructure with a focus on microservices in mind for scalability with Ruby on Rails, sending user’s code via AJAX to be evaluated and parsing the
tests responses with Ruby to return useful information encoded in JSON to the frontend.