Skip to content

CraftyJH/LearnJava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Mastery Platform

A Spring Boot web application that combines a large Java curriculum (theory as Markdown, coding challenges, and major project briefs) with a mini-IDE: the Monaco editor in the browser and server-side compile/run via the JDK on the machine hosting the app.

Why a website (not Android)

Iteration is fastest when you edit in the browser, click Run, and see compiler and program output immediately. Android builds, emulators, and deployment cycles are heavier for rapid practice loops.

Requirements

  • JDK 21+ on the server (the app uses javac from the same runtime).

Run locally

mvn spring-boot:run

Open http://localhost:8080.

Layout and progress (in the browser)

  • Theory stays in the left column; challenge, projects, editor, and output are stacked in the Code column so you can read instructions without scrolling away from the editor.
  • Progress is stored in localStorage (this device and browser only): completed lessons, per-lesson code drafts, and class name. Use Export / Import JSON to move progress between machines or back up before clearing site data.

Curriculum content

Theory lives under src/main/resources/static/lessons/. The navigation tree and challenges are generated into src/main/resources/static/data/curriculum.json by:

python3 scripts/generate_curriculum.py

Edit scripts/generate_curriculum.py to add sections, lessons, challenges, or major projects, then re-run the script.

Security note

The /api/run endpoint compiles and executes user-supplied Java in the same JVM as the server, with time limits and classpath isolation for user classes. Do not expose this endpoint to untrusted Internet users without a hardened sandbox (containers, separate JVM, quotas, etc.). It is intended for local learning or trusted environments.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors