Coding Online Platform (Brief Description)
By Iván Munguía
What it is?
Is an Online platform to practice programming through programming exercises which asses skills in algorithms, logic, programming fundamentals, data structures, etc.. The user’s
solution is tested using Test Driven Develpment to determine if their answer is correct of not.
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.
There are large web applications that allow their users to learn a new online programming language, execute code, practice exercises, unfortunately most of these applications are in English which reduces the field of users that could use their services.
When the user's code is executed against the tests cases, the output of said tests will be shown and the user will be told what is wrong with his code as well as which tests are failing and which ones are passing
Challenge Creation Area
The challenge description will be defined by using the markdown language where you can see a preview of its description already converted to HTML
All text editors have a fullscreen button that allows the user to view their code in full screen.