Skip to main content

Installation & Local Setup

Clone and install

git clone https://github.com/open-lingua/ielts-mastery-hub.git
cd ielts-mastery-hub
npm install

Directory layout

/
├── src/
│ ├── core/ # Rust / Tauri 2 backend
│ └── ui/ # React / TypeScript frontend
└── website/ # Docusaurus documentation site (this site)

See Full Technology Stack Reference and Folder Structure for more detail.

Environment variables

AI grading needs no environment variables — credentials for the Writing module's AI grading feature are configured at runtime from Admin → AI Configurations (src/ui/pages/admin/AiConfigurations.tsx), stored encrypted in the local SQLite database rather than in .env/VITE_-prefixed variables (see Writing Module & AI Grading). If no provider is configured/active, grade_writing throws a clear error:

No AI provider is configured

Backend-only secrets (if any are introduced) belong in src/core/.env and must never be exposed to the frontend — see CONTRIBUTING.md.

First run

  1. Complete Prerequisites.
  2. npm install at the repo root.
  3. (Optional) Once the app is running, configure an AI provider from Admin → AI Configurations to enable Writing AI grading — not required to use Reading/Listening.
  4. Continue to Running the App in Development.

Troubleshooting missing native dependencies

SymptomLikely causeFix
App window fails to open on WindowsWebView2 not installedInstall the Evergreen Bootstrapper
Build fails referencing webkit2gtk on LinuxMissing native packagesInstall webkit2gtk/libayatana-appindicator for your distro
Rust compiler errors about missing Xcode tools (macOS)Command Line Tools not installedRun xcode-select --install
cargo/rustc not foundRust toolchain not installedInstall via rustup.rs

See also Troubleshooting Common Issues for runtime issues after the app is running.