This Tauri desktop app connects to the Python CLI core via child process communication.
- Python Core: The
fiae-tutorrepository must be set up and working - Python: Python 3.8+ installed and accessible
- Node.js: Node.js 18+ for the Tauri frontend
-
Copy the example environment file:
cp .env.example .env
-
Edit
.envand configure paths:FIAE_TUTOR_CORE_DIR=C:\Projects\fiae-workspace\fiae-tutor FIAE_TUTOR_PYTHON=pythonImportant:
FIAE_TUTOR_CORE_DIRmust point to your localfiae-tutorrepositoryFIAE_TUTOR_PYTHONshould bepython(Windows) orpython3(Linux/Mac)- Both variables are REQUIRED - the app will fail with clear errors if missing
npm install
npm run tauri dev- Click the "Test Core اتصال" button in the UI
- Expected result: JSON output with
result.sorted == [1,2,3] - If errors occur, they will be displayed in the output panel
- Rust Backend (
src-tauri/src/lib.rs): Spawns Python CLI as child process - TypeScript Client (
src/api/coreClient.ts): Type-safe wrapper for Tauri commands - React UI (
src/App.tsx): Test interface for core communication
All errors are surfaced to the UI with descriptive messages:
- Missing environment variables
- Python not found
- Core directory not found
- JSON parsing errors
- Process timeout (10s)
No silent failures - every error is logged and displayed.
C:\Projects\fiae-workspace\
├── fiae-tutor\ # Python core (separate repo)
│ └── src/fiae_tutor/
└── fiae-tutor-desktop\ # This Tauri app (separate repo)
├── .env # Local config (gitignored)
├── .env.example # Template
├── src/
│ ├── api/coreClient.ts
│ └── App.tsx
└── src-tauri/
└── src/lib.rs
Both projects remain separate repositories - integration is via environment configuration only.