Skip to content

Repository files navigation

Fedora Master — offline Android build

Self-contained Fedora 44 / KDE Plasma learning app. No network, no LLM, no server. Progress, quiz scores, and starred cheat-sheet items persist in localStorage (survives inside the Capacitor WebView). The terminal "explain output" reads the authored command database; "Explain this error" matches your paste against a curated Fedora-44 knowledge base.

Live version: https://LebaneseZorro.github.io/fedora-master/

Try it now (no build needed)

Prerequisites (one time)

  • Node.js 20+ (you already have it)
  • Java: no separate JDK install — the build uses Android Studio's bundled JDK. If Gradle complains about the JDK version, add org.gradle.java.home=/opt/android-studio/jbr to android/gradle.properties (adjust the path to where Android Studio is installed).
  • Android Studio (Flatpak: flatpak install flathub com.google.AndroidStudio, or the tarball). On first launch it installs the Android SDK + platform-tools. Point ANDROID_HOME at the SDK (usually ~/Android/Sdk) in your shell rc.

Build the APK

npm install                    # deps
npm run build                  # -> dist/ (static web bundle)
npx cap add android            # first time only: creates ./android native project
npm run sync                   # build + copy dist/ into the android project
npm run open:android           # opens Android Studio on ./android

In Android Studio: Build > Build Bundle(s)/APK(s) > Build APK(s), then locate the app-debug.apk. Copy it to the Z Fold and install (enable "install unknown apps" for your file manager). Done — it runs fully offline.

Faster loop without opening Studio

Once the SDK env vars are set you can skip the IDE:

npm run sync
cd android && ./gradlew assembleDebug
# APK at android/app/build/outputs/apk/debug/app-debug.apk
adb install -r android/app/build/outputs/apk/debug/app-debug.apk   # if phone plugged in w/ USB debugging

Making it feel native (optional)

  • App icon: replace the generated icons under android/app/src/main/res/mipmap-*, or use @capacitor/assets (npx @capacitor/assets generate --android) from a single 1024×1024 PNG in assets/.
  • Signed release APK (for a stable install that updates cleanly):
    keytool -genkey -v -keystore fm.keystore -alias fm -keyalg RSA -keysize 2048 -validity 10000
    cd android && ./gradlew assembleRelease   # after wiring signingConfig in app/build.gradle
  • Z Fold note: the layout is responsive — the sidebar collapses to a ☰ menu on the narrow outer screen and expands on the inner display. viewport-fit=cover + safe-area insets keep content off the camera cutout. Fold/unfold just re-flows.

Editing content later

Everything lives in src/App.jsx:

  • CMDS — command database (also feeds terminal "explain output")
  • SHORTCUTS — Plasma shortcuts
  • MODULES — the six learning modules
  • QUIZZES — per-module questions
  • ERRORS — the error-explainer knowledge base (add {id, w, re:[...], summary, cause, fix:[...], prevention, angle} entries; higher w wins ties) Rebuild + sync after edits.

About

Offline Fedora 44 / KDE Plasma learning app — interactive command reference, sandbox terminal, quizzes, and a Fedora-specific error explainer. React + Vite, packaged for Android with Capacitor.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages