TutorLoom
The learning platform for companies, colleges and training institutes. Free and open source, with an Enterprise edition.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗A static, one-page marketing site for the FSLAMES Android app. Plain HTML +
Tailwind CSS v4 (compiled at build time) + a few lines of vanilla JS. It lives
in website/ and does not touch the Flutter app.
cd website
npm install
npm run build # compiles CSS + copies index.html and public/ into dist/
npm run dev # serves dist/ (default: http://localhost:3000)
The download buttons point at downloads/fslames-v2.0.0.apk. To test the real
APK locally, copy it in (the folder is git-ignored):
copy ..\fslames-mobile-app\build\app\outputs\flutter-apk\fslames-v2.0.0-20261023.apk downloads\fslames-v2.0.0.apk
public/config.js is the single place the download destination lives:
window.FSLAMES_APK = {
url: "https://github.com/fpaulpalis/fslames-app/releases", // <- redirect target
version: "2.0.0",
size: "126 MB",
updated: "October 2026",
requires: "Android 10+",
};
Every "Download APK" button (header, hero, download section, footer) reads from
this object. If url is left empty, the buttons flip to a harmless
"APK coming soon" state instead of a broken link.
Before deploying: the APK is ~126 MB, so it cannot be committed to GitHub
(100 MB push limit) or served from most static hosts. Recommended: upload
build/app/outputs/flutter-apk/fslames-v2.0.0-20261023.apk as a GitHub
Release asset, then paste its download URL into config.js.
*.apk and node_modules are ignored).website/. The bundled website/vercel.json sets:
npm installnpm run builddist/ and refreshes
work (static pages; cleanUrls also serves /privacy and /terms).public/config.js and redeploy.website/
├── index.html # the landing page
├── how-to-play.html # Quick Start Guide: Practice
├── privacy.html # Privacy Policy (text from lib/features/auth/policy_texts.dart)
├── terms.html # Terms and Conditions (same source)
├── package.json # build tooling (Tailwind CSS v4)
├── vercel.json # Vercel build/output settings
├── src/
│ ├── styles.css # Tailwind theme + bespoke styles (colors from the app)
│ └── main.js # nav toggle, reveal-on-scroll, APK config wiring
├── scripts/copy-assets.mjs
├── public/
│ ├── config.js # APK download configuration (edit before deploy)
│ └── img/ # logo, Learn-scene background, frog mascot, app mockups
└── downloads/ # local APK copy (git-ignored)
Optional QA: node qa/qa.mjs drives a headless Chrome over CDP to check
overflow and capture screenshots at 390 / 768 / 1280 px (--full for
full-page captures).
lib/core/theme/app_colors.dart,
lib/widgets/learning_path.dart, lib/widgets/frog_mascot.dart).docs/screenshot_plate_plan.md),
drop PNG/JPG replacements into public/img/ and swap the <img src>s in
index.html.