Schoco
Web-based Java 8 IDE for classroom assignments and automated testing
Schoco is a web-based integrated development environment designed specifically for teaching Java (Java 8) at school. It provides teacher-managed assignments, per-student branches, and automated JUnit-based testing while running user code in isolated worker containers.
Key Features
- Web-based IDE tailored to Java 8 with editing, compile, run and test capabilities suited for classroom use
- Teacher and student roles with assignments: teachers create assignments, pupils receive per-student branches and submit solutions
- Automated evaluation using JUnit tests with visible pass-percent results for teachers
- Isolated execution using short-lived Docker worker containers for each compile/run/test action to improve security
- Projects stored in Git repositories via an integrated Gitea instance; each project uses a UUID-based repo and student work uses branches
- Lightweight metadata storage using SQLite for users, courses, projects and assignment info
- Live output streamed to the browser via WebSocket connections, requiring reverse-proxy support for websockets
- Frontend localization (English/German) and configurable runtime limits (e.g., execution time, number of workers)
- Deployable via Docker Compose with an included Nginx gateway and recommended reverse-proxy configuration
Use Cases
- Teachers assigning, auto-testing and reviewing Java programming homework in classroom or remote teaching scenarios
- Students practicing Java programming without needing local JRE installs or complex toolchains
- Demonstrations and live code comparisons in class by opening student submissions and projecting them for discussion
Limitations and Considerations
- Language support is focused on Java 8; many JVM features (file IO, networking, spawning processes, UI) are restricted by the Java security manager
- Requires Docker/Docker Compose and an appropriate reverse-proxy configuration to handle WebSocket traffic securely
- Uses SQLite for metadata which may not suit very large multi-tenant deployments without modification
- Some administrator setup steps (Gitea user creation, filesystem permissions, nproc considerations) are required on first start
Schoco is a focused classroom tool that streamlines assignment distribution, isolated code execution and automated testing for Java teaching. It prioritizes safety and easy classroom workflows over features needed for professional software development.
Categories:
Tags:
Tech Stack:
Similar Services

code-server
Run Visual Studio Code in the browser on your own server
code-server runs Visual Studio Code in your browser, providing a remote development environment you can self-host on a VM or container and access from any device.

JupyterLab
Web-based interactive computing environment for notebooks and code
JupyterLab is an extensible web-based IDE for Jupyter notebooks, code, terminals, and data exploration with rich outputs and a plugin-based interface.

Coder
Self-hosted cloud development environments for teams and agents
Open-source platform to provision secure, self-hosted developer workspaces (VMs, containers, Kubernetes) defined in Terraform, with IDE integrations and AI agent support.

A Dark Room
Minimalist browser-based text adventure game
A minimalist text adventure game for the browser, featuring incremental progression and multiple language translations.
Eclipse Che
Kubernetes-native cloud development environments with a web IDE
Eclipse Che provides Kubernetes-based cloud development environments (CDEs) with containerized workspaces, a web IDE, and Devfile-based project configuration for teams.

Livebook
Interactive Elixir notebooks for code, data and automation
Web-based interactive and collaborative notebooks for Elixir with data visualizations, integrations, reproducible workflows, and automation.
FastAPI
Docker
Java
Python runtime