-
Notifications
You must be signed in to change notification settings - Fork 47
Open
Description
Summary / What
Add Java and Python execution support in the collaborative code editor.
Why / Motivation
Currently, the editor supports only C and C++ execution (covered in another issue).
Adding Java and Python will:
- Expand the usability of the platform for more users.
- Help students and developers practice across multiple languages.
- Make the project closer to a real-world multi-language IDE.
Tasks / Implementation Plan
- Backend: Extend execution API to support Java (javac + java).
- Backend: Extend execution API to support Python3 (python3).
- Update API request handling to differentiate between languages (language_id or compiler flag).
- Frontend: Add Java and Python options in the language selector dropdown.
- Frontend: Ensure console displays stdout, stderr, and runtime errors properly.
- Add sample programs for Java and Python testing.
Expected Behaviour
- When a user selects Java or Python, they can write and run code successfully.
- The console should display correct output or detailed error messages.
Actual Behaviour
- Currently, Java and Python execution are not supported.
- Only C/C++ execution is available.
Environment / Versions
- Server OS: (mention your server OS here, e.g., Ubuntu 22.04)
- Node.js Version: (e.g., v18.x)
- Existing Compilers: C, C++ already integrated
Acceptance Criteria / Checklist
- User can execute Java code and see output/errors in the console.
- User can execute Python code and see output/errors in the console.
- Compilation errors and runtime errors are clearly shown.
- No security risks — execution is sandboxed (via Judge0 API or Docker).
- Tests/examples for both languages are included and pass.
References / Related Issues
- Related Issue: C and C++ compiler integration issue (link to that issue number)
- Documentation: Judge0 API (for multi-language execution)
- Future Scope: Could be extended to more languages (Go, JS, Ruby, etc.) later.