Skip to content

Commit 295d543

Browse files
Create README.md
1 parent dc96d73 commit 295d543

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

browsers/README.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Code Execution Engine
2+
3+
A robust and secure backend service for executing user-submitted code in isolated Docker containers. This project provides an API endpoint to receive code snippets in various programming languages and runs them within dedicated, resource-limited Docker environments, returning the execution output.
4+
5+
## ✨ Features
6+
7+
- **Multi-Language Support:** Execute code written in Python, Node.js, and Java out-of-the-box. Easily extensible to support more languages.
8+
9+
- **Docker Isolation:** Each code execution runs in its own ephemeral Docker container, ensuring process isolation and preventing interference between different code submissions.
10+
11+
- **Resource Limiting:** Configurable memory and CPU limits for each execution to prevent resource exhaustion from malicious or inefficient code.
12+
13+
- **API-Driven:** Simple RESTful API endpoint for seamless integration with frontend applications or other services.
14+
15+
- **Temporary File Handling:** Manages temporary directories and files for each execution, ensuring clean-up after completion.
16+
17+
## 🚀 Technologies Used
18+
19+
- **Node.js:** The primary backend language, utilizing Express.js for the API.
20+
21+
- **Express.js:** Fast, unopinionated, minimalist web framework for Node.js.
22+
23+
- **Docker:** Containerization platform used for isolating code execution environments.
24+
25+
- **Python:** Supported language for code execution.
26+
27+
- **Java (OpenJDK):** Supported language for code execution.
28+
29+
- **uuid:** For generating unique identifiers for temporary execution directories.
30+
31+
## 📋 Prerequisites
32+
33+
Before you get started, ensure you have the following installed on your system:
34+
35+
- [**Docker**](https://docs.docker.com/get-docker/): Docker Engine and Docker Compose (Docker Desktop includes both).
36+
37+
- [**Node.js**](https://nodejs.org/en/download/) (LTS version, e.g., 20.x or higher)
38+
39+
- [**npm**](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) (comes with Node.js)

0 commit comments

Comments
 (0)