The core of the application is the lightweight Python web framework,
application is handled by SocketIO. MATL code and input arguments
are submitted to the server and celery assigns the task to one of many
available worker processes. Each worker process uses the
octave_kernel library to communicate with an underlying
Octave instance to evaluate the provided code. All Octave
output from the process (including text and graphics) is streamed in real-time
back to the browser via SocketIO.
The easiest way to run the application locally is to use Docker
Compose which will start the web service, celery worker, redis
instance, and postgres database. Prior to running
docker-compose, be sure to
build the local docker image:
make docker docker-compose up
You will then be able to access the application at http://localhost:5000.
Planned Future Improvements
- Ability to run multiple test cases sequentially
- Analytics of all MATL answers on the Programming Puzzle and Code Golf Stack Exchange site including top users, top questions, and common usage patterns.
This software is licensed under the MIT License.