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.