https://github.com/f0-t0/javapath
Browser-based Java learning platform with interactive lessons, quizzes, and a local Java runner.
https://github.com/f0-t0/javapath
education java learning-platform react typescript vite
Last synced: 19 days ago
JSON representation
Browser-based Java learning platform with interactive lessons, quizzes, and a local Java runner.
- Host: GitHub
- URL: https://github.com/f0-t0/javapath
- Owner: F0-t0
- Created: 2026-03-14T15:30:20.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-03-14T16:05:10.000Z (about 1 month ago)
- Last Synced: 2026-03-15T02:50:43.166Z (about 1 month ago)
- Topics: education, java, learning-platform, react, typescript, vite
- Language: TypeScript
- Size: 200 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# JavaPath
JavaPath to przegladarkowa platforma do nauki Javy z dashboardem kursu, ekranem lekcji typu split-view, quizami i systemem postepu. Projekt jest zbudowany jako frontend React/Vite, ale lekcje potrafia juz lokalnie kompilowac i uruchamiac prawdziwy kod Java przez prosty runner HTTP oparty o `javac` i `java`.
## Stack
- React 19
- TypeScript
- Vite
- CodeMirror 6
- Firebase Authentication + Realtime Database
- Lucide React
- lokalny Java runner (`javac` / `java`)
## Funkcje
- landing page przed logowaniem
- rejestracja email/haslo i logowanie Google przez Firebase
- dashboard z mapa kursu, XP, streakiem i light/dark mode
- lesson view z pieciokrokowym flow: Hook / Explain / Show / Practice / Wrap-up
- quiz fullscreen dla kazdego modulu
- prawdziwe uruchamianie kodu Java w lekcjach
- obsluga `Scanner` przez podstawienie testowego `stdin` w odpowiednich zadaniach
- strona ustawien z zapisem preferencji i podstawowych statystyk
## Wymagania
- Node.js 20+
- Java JDK z dostepnymi komendami `javac` i `java`
## Uruchomienie lokalne
```bash
npm install
npm run java-runner
```
W drugim terminalu:
```bash
npm run dev
```
Alternatywnie build + preview:
```bash
npm run build
npm run preview
```
## Skrypty
```bash
npm run dev
npm run build
npm run lint
npm run preview
npm run java-runner
```
## Uwagi techniczne
- Runner Javy nasluchuje domyslnie na `http://127.0.0.1:4318/run`.
- Lokalnie aplikacja uzywa prostego runnera developerskiego opartego o `javac` i `java`.
- Publiczna wersja na GitHub Pages korzysta z Judge0 CE do wykonywania kodu Java bez wlasnego hostingu backendu.
- Jesli projekt ma trafic szerzej do uzytku produkcyjnego, nastepnym krokiem powinien byc wlasny izolowany backend lub self-hosted Judge0 zamiast publicznego endpointu.