- Sphere Engine overview
- Compilers
- Overview
- API integration
- JavaScript widget
- Problems
- Overview
- API integration
- JavaScript widget
- E-learning platforms
- Problem setter's handbook
- Problems archive
- RESOURCES
- Programming languages
- Submission streams
- Webhooks
- Disk operations
- Multi-file submissions
- Generating images
- Client libraries
- API Changelog
- FAQ
The Sphere Engine Containers module allows executing complex, multi-component programming projects. It supports a vast scope of modern technologies and will bring the source code execution and skill-assessment features to your system effectively, securely and with large-scaling, future-proofing and customizability.
The Containers module consists of:
- Integration methods
- (coming soon!) Workspace - a full-fledged development environment that can be embedded in your website,
- RESTful API - programming interface for running your end-users' source code and receiving the execution results,
- Content Management System - an environment for managing and building programming projects.
Workspaces (coming soon!)
The Workspace is a full-fledged environment that allows software engineers to work on multi-stack projects. It is the most accessible and effective integration method. The whole set of coding tools is delivered out of the box, that includes:
- code editor with syntax highlighting
- integrated Linux terminal
- directory tree with convenient access to project files
- one-click shortcuts for running and testing the project
Note: The Workspace in a form of an integration method (i.e. available for the end-users) will be available soon in the upcoming releases. Nevertheless, you can try it from the Content Manager's perspective right away!
RESTful API
The RESTful API offers a simple method for feeding a pre-configured project with a package of files (code, data, and more). In a typical scenario, the end-user creates and modifies some project files prepared beforehand by the Content Manager. Once ready, they can send it for execution. Before execution, the pre-configured project is updated with files submitted by the end-user. Finally, such a wholly composed project is executed appropriately to a given technology and project configuration.
The results produced during the execution (e.g. output data, errors, and more) are gathered and saved by the Sphere Engine service. You can fetch them later using a dedicated API method.
The diagram below illustrates how the system processes a submission from the moment it is created until the results are obtained.

Content Management System
The Content Management System is an extended Workspace used to build and configure content for end-users. Content Managers use it to develop and pre-configure projects. A project in the Sphere Engine Containers module is a context in which the end-user submissions (containing application code, unit test code, and more) are later executed.
What can I use it for?
The Sphere Engine Containers module is an excellent tool for creating:
- recruitment platforms with the ability to run or evaluate code written by candidates
- e-learning programming courses, offering automated code assessment or providing executable code examples
- systems for sharing executable source code
- interactive massive open online courses (MOOCs)
- online Integrated Development Environments (IDE)
- skill assessment platforms
Please refer to the product comparison table to compare the Sphere Engine Containers module with the rest of our components.
What types of technologies can I run?
The high customizability of the Containers module makes it easy to run a variety of technologies ranging from the most straightforward single file scripts up to multi-component complex applications. What you can integrate includes:
- web applications (front-end only, back-end only, or full stack)
- desktop applications and mobile apps
- console applications
- unit-testing verification and I/O verification
- artificial intelligence, machine learning, and data science
You can use RESTful API to execute projects in a non-interactive mode (i.e. batch mode) or integrate your application with our Workspace to get an interactive mode as well. In the Workspace, your end-users can interact with their apps, for example, via a web browser or the command line.
Regardless of the integration method, the Sphere Engine Containers module can execute all these types of applications safely, reliably, and on a large scale.
What are the methods of integration?
The following methods of integration are available for the Containers module:
- Webhooks - for receiving information asynchronously about executed submissions
- RESTful API - for executing projects in a batch mode and synchronously obtaining execution results
- (coming soon!) Workspaces - for embedding a full-fledged development environment as a part of your web application
How to create your base content?
Sphere Engine Containers offers a rich gallery of samples presenting a number of technologies. You can use them right away to see how they work. You can also take them to inspire your Content Managers while creating your own projects and run-time environments.
To quickly learn how to create worthwhile content for your end-users, feel free to use our Handbook for Content Managers.