尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Microsoft Office tutor in English and Bahasa Melayu: cheat sheets, searchable references, auto-checked exercises, an in-browser Excel formula lab and an AI tutor.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A self-hosted learning site for Microsoft Office classes, Excel, Word and PowerPoint, in Malay and English.
It runs a real class at academy.sasateguh.com (Malay at /, English at /en/).
Each subject has a cheat sheet, a searchable reference, auto-checked exercises and an AI tutor that answers in the language of the question. Excel also has a formula lab: a grid that evaluates Excel formulas in the browser.
| Formula lab | Practice (dark theme) |
|---|---|
Screenshots of the live site (English pages), WebKit, 1280 × 800.
Ringkasan BM: laman belajar Microsoft Office dalam Bahasa Melayu dan Inggeris: rujukan pantas, rujukan lengkap, latihan bersemak automatik, makmal formula Excel dan tutor AI. Kod sumber terbuka (AGPL-3.0); kandungan hak terpelihara.
app/config/bahasa/{ms,en}.php; every content pack has a Malay file and an
English file with the same structure (app/config/pek/<subject>/ and .../en/). php app/alat/semak-kandungan.php fails
when the two drift apart (missing questions, different answers, different shortcut keys) or when copy breaks the style guide
(docs/STYLE-GUIDE.md: banned marketing words, no emoji, no colloquial Malay).app/config/subjek.php plus a content pack. URLs are
[/en]/<subject>/<page> (cheatsheet, formulas, reference, practice, playground, tutor), served by one front
controller (app/public/laman.php). Old URLs redirect with 301.=SUM(B4,B3,B2) for =SUM(B2:B4)), but not when the result only matches by coincidence. Answers never
reach the browser.app/public/assets/js/formula-enjin.js): own parser/evaluator on top of
@formulajs/formulajs (MIT), with Excel semantics where they matter for teaching
(date serials, wildcard criteria, lookup modes, 15-digit comparison). tests/enjin.test.js checks 90 cases against real
Excel. Not yet: FILTER, LET, array constants, cross-sheet references./admin.php): chat on/off, model selection checked live against the provider, key pool, exercise editor
per subject and language (form or JSON from an AI, validated), history with one-click restore, publish/draft per subject,
privacy-friendly statistics (no IP, no student cookies, bots excluded), password change.app/src/Ikon.php by alat/jana-ikon.py). Tested on WebKit (iPhone 13) and Chromium, with axe-core in both themes.tailwind/).cp app/config/.env.example app/config/.env # set ADMIN_PASSWORD_HASH (instructions inside)
echo '[{"id":"k1","key":"gsk_…","label":"main"}]' > app/config/groq-keys.json # optional: Groq key(s) for the AI tutor
mkdir -p app/data
php -S localhost:8000 -t app/public dev/router.php
Production runs on Apache (mod_rewrite, mod_headers) behind a reverse proxy; app/public is the document root and
app/src, app/config, app/data must stay outside it. The router in dev/ mirrors the production rewrites.
Site name, owner, instructor and contact live in app/config/laman.php.
The compiled CSS (app/public/assets/css/tw.css, tw-admin.css) and the icon set (app/src/Ikon.php) are committed, so
the site runs without Node. After adding Tailwind classes in PHP or JS, or icons, rebuild them (Node 22):
cd tailwind && npm install && npm run build # CSS
npm run icons # app/src/Ikon.php from lucide-static (needs Python 3)
CI rebuilds both from a clean checkout and fails if the committed files differ.
| What | License |
|---|---|
| Code (PHP, JS, CSS, templates, tests) | AGPL-3.0, see LICENSE. If you run a modified version as a network service, you must offer its source to its users. |
Teaching content: app/config/pek/**, app/config/formulas/**, app/config/bahasa/** | All rights reserved, see CONTENT-LICENSE.md. |
| Third-party: formulajs (MIT), marked (MIT), DOMPurify (Apache-2.0 / MPL-2.0), Lucide icons (ISC), Geist fonts (OFL-1.1) | Their own licenses, in app/public/assets/vendor/ and app/public/assets/fonts/. |
Microsoft, Excel, Word and PowerPoint are trademarks of Microsoft Corporation. This project is not affiliated with, sponsored or endorsed by Microsoft. "Office AI Tutor" is a descriptive project name, not a claim to those marks.
office-ai-tutor was built with AI coding assistance (Claude Code) under the direction of its author, Muhammad Aiman.
The evidence that it works is meant to be checkable:
node tests/enjin.test.js app and php app/alat/semak-kandungan.php.See CONTRIBUTING.md. In short: this repository is published from a private one, so an accepted pull request is applied
there and arrives here with the next sync.
See SECURITY.md to report a vulnerability, and SECURITY-REVIEW.md for the independent reviews done before this
repository was made public.
This project is built and maintained by Sasa Teguh, a studio in Malaysia. We build websites that are found on Google and in AI answers, and we set up systems like this one for businesses.