Schoco

Web-based Java 8 IDE for classroom assignments and automated testing

37 stars 4 forks last commit first released MIT

Slowing down

No commits since 18 Mar 2025. Check the issue tracker before you rely on it.

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:

Share:

Similar to Schoco

Atheos logo

Atheos

Self-hosted, browser-based cloud IDE and code editor

677
93
Last commit

Atheos is a self-hosted, web-based cloud IDE and code editor with a small footprint, featuring plugins, multi-user support, and built-in Git integration.

Actively maintained
Alternative to:
Replit logo
Replit
+11
TeamMapper logo

TeamMapper

Collaborative web-based mind-mapping application

491
42
Last commit

Real-time collaborative mind-mapping web app with import/export, sharing via links/QR, undo/redo and Postgres storage. Runs with a TypeScript/NestJS backend and Angular frontend.

MITActively maintained
Alternative to:
Xmind logo
Xmind
+8
Gitea logo

Gitea

Self-hosted Git hosting with code review, issues, and CI/CD

57.6k
7.1k
Last commit

Gitea is a lightweight, self-hosted Git service with repositories, pull requests, issues, wiki, packages, and built-in CI/CD via Actions and runners.

MITActively maintained
Alternative to:GitHub+6
PlanarAlly logo

PlanarAlly

Open-source virtual tabletop for battlemaps and dynamic lighting

543
93
Last commit

Web-based virtual tabletop for TTRPGs offering infinite canvas, layers, dynamic lighting, player vision, initiative tracking, offline support and self-hosting.

MITActively maintained
Alternative to:
Foundry Virtual Tabletop logo
Foundry Virtual Tabletop
+2
Wazo Platform logo

Wazo Platform

Open-source programmable IP telecommunication platform

Open-source, API-first platform for carrier-grade IP communications: VoIP, WebRTC, messaging, conferencing and programmable telephony microservices.

Activity unknown
Alternative to:
3CX logo
3CX
+19
Teable logo

Teable

Spreadsheet-like database app builder for PostgreSQL

21.7k
1.3k
Last commit

Teable is an Airtable alternative for building database apps with a spreadsheet UI, multiple views, real-time collaboration, and a plugin system, backed by PostgreSQL.

Actively maintained
Alternative to:
Airtable logo
Airtable
+11