MoFaCTS, the Mobile Fact and Concept Training System, is a web-based adaptive learning system for practice, assessment, and research. It supports adaptive practice through cognitive memory models, Tutor Definition Files (TDFs), multiple stimulus types, and response modalities including multiple choice, fill-in-the-blank, and speech-recognition-based responses.
This repository is prepared for the first public pre-1.0 release. The current release tag is v0.1.0-alpha.1.
- Researchers studying adaptive practice, learning, memory, and educational data.
- Instructors and instructional designers preparing adaptive practice activities.
- Content authors building lessons with Tutor Definition Files (TDFs).
- Developers contributing to the MoFaCTS application and deployment workflow.
- Institutional collaborators evaluating MoFaCTS for pilots or research partnerships.
- Deliver flashcard-like adaptive practice using cognitive memory models.
- Run lessons defined by Tutor Definition Files (TDFs).
- Present text, image, audio, video, and cloze-style stimuli.
- Collect multiple-choice, typed, and speech-recognition-based responses.
- Support classroom, research, administrative, and deployment workflows.
- Export and analyze learner interaction data for research and operations.
MoFaCTS is actively used and stable enough for evaluation, research collaboration, and managed pilot deployments. This is a pre-1.0 public alpha release because public packaging, documentation, APIs, deployment guidance, and compatibility commitments are still being formalized before a 1.0 release.
For institutional or course deployment, coordinate with the maintainers so configuration, data handling, and support expectations are clear.
mofacts/: main Meteor/Svelte application source.mofacts/client/,mofacts/common/,mofacts/server/: application code.mofacts/packages/: local Meteor packages.deploy/: canonical Docker Compose build and deployment workflow.docs/: concise public repository documentation..github/: GitHub issue templates, pull request template, CI, and security workflow.
For contributor setup, see docs/development.md.
Short version:
cd mofacts
npm ci
npm run typecheck
cd ..\deploy
Copy-Item .env.local.example .env.local
Copy-Item settings.local.example.json settings.local.json
# Edit .env.local and settings.local.json for your local machine.
# Do not commit local settings or secrets.
.\hotfix-local.ps1Open http://localhost:3200. This source-watching Meteor/Rspack hotfix server
is the only supported localhost application. Docker supplies its MongoDB
replica set; the launcher reads private settings from .env.local, bootstraps
the configured local admin, and stores ignored credentials under
deploy/local-hotfix/. See First Local
Run.
The supported local runtime baseline is Node.js 24.15.0, npm 11.12.1, and Meteor 3.5. See SUPPORT.md for the current support policy.
- Architecture overview
- Development guide
- TDF authoring overview
- Release process
- Support policy
- Security policy
- Contributing guide
The GitHub wiki remains the best home for long-form operational runbooks, detailed setup notes, and content authoring examples:
If you use MoFaCTS in research, cite the software using CITATION.cff. GitHub will surface this metadata through the repository citation panel.
Contributions are welcome through issues and pull requests. Start with CONTRIBUTING.md, open an issue for substantial changes, and keep pull requests focused.
Security vulnerabilities should not be reported through public issues. Follow SECURITY.md.
MoFaCTS is licensed under the GNU Affero General Public License v3.0 only. See LICENSE.
Third-party code and dependencies keep their own licenses. See THIRD_PARTY_NOTICES.md and dependency-licenses.csv.