50 خطوط
3.7 KiB
Markdown
50 خطوط
3.7 KiB
Markdown
# MicroLearning Intelligence Platform
|
|
|
|
Enterprise microlearning authoring, delivery, and learning-intelligence platform. The product is API-first, multi-tenant, bilingual (FA/EN), RTL/LTR-native, and deployable as SaaS or dedicated on-premise software.
|
|
|
|
## Applications
|
|
|
|
- `backend`: Laravel 12 API and queue workers (PHP 8.2 compatible)
|
|
- `frontend`: React 19, TypeScript, and Vite
|
|
- `docs`: architecture and product engineering source of truth
|
|
- `infrastructure`: deployment assets added per environment
|
|
|
|
## Local verification
|
|
|
|
```powershell
|
|
php backend\artisan test
|
|
npm run lint --prefix frontend
|
|
npm run build --prefix frontend
|
|
```
|
|
|
|
## Run locally on Windows
|
|
|
|
Double-click `start-dev.bat` to check dependencies, apply pending non-destructive migrations, start Laravel, Vite, the queue worker, and scheduler in separate windows, and open the application. Run `start-dev.bat --check` to validate prerequisites without starting services.
|
|
|
|
For local review data, run `php backend\artisan db:seed`. The seeded review accounts all use the password `password`:
|
|
|
|
- Super Admin: `admin@microlearn.test`
|
|
- Designer: `designer@microlearn.test`
|
|
- Manager: `manager@microlearn.test`
|
|
- Learner: `maryam@microlearn.test`
|
|
|
|
The local launcher starts PHP with a 2 GB upload limit for large video assets. Production deployments must apply an equivalent request-body limit at both PHP and the reverse proxy/load balancer.
|
|
|
|
After signing in, the interactive Builder sample is available at `http://127.0.0.1:5173/app/builder-preview`; its content is explicitly labelled and changes remain local. The real tenant-scoped Builder route is `/app/courses/:courseId/versions/:versionId/lessons/:lessonId/builder`.
|
|
|
|
Phase 6 adds the private organization Content Library at `/app/library`, reusable media selection inside the Builder, Navigator, accessibility-aware Inspector controls, and direct learning mappings. Phase 7 adds the Question Bank and Assessment Studio at `/app/question-bank`, the complete assessment/interaction Block catalog, reusable questions, assessment settings, competency mappings, and validated visual Branching Scenario authoring.
|
|
|
|
Phase 8 adds readiness-gated and scheduled Course publishing, immutable version history with taxonomy snapshots, dynamic Assignments at `/app/assignments`, Course-level assignment management, and ordered versioned Learning Paths at `/app/learning-paths`.
|
|
|
|
Phase 9 adds the assignment-only learner experience at `/learn`, the canonical Flow/Card Player, verified server-side interactions and completion, private notes/highlights/bookmarks/favorites, lesson discussions, and manifest-driven PWA/offline synchronization.
|
|
|
|
Phase 10 adds the read-only, team-scoped Manager Workspace at `/manager`, explainable real learning-health metrics and attention drill-downs, visible session Logout across roles, and a bilingual iOS-inspired learner experience with floating safe-area-aware navigation.
|
|
|
|
The completed product also includes the Monitoring Engine, collaboration/review workflows, AI Studio and governed ingestion, Export Center at `/app/exports`, and verifiable certificates at `/app/certificates` with public verification at `/certificate/verify/:code`.
|
|
|
|
Production and dedicated On-Prem deployment use `docker-compose.production.yml`. Copy the appropriate environment template, supply real secrets, terminate TLS at the ingress/reverse proxy, then follow [docs/deployment.md](docs/deployment.md) and [docs/runbooks/operations.md](docs/runbooks/operations.md). Docker image validation is also enforced by the CI workflow.
|
|
|
|
All environments use MySQL 8.4. Existing local SQLite data can be transferred with the guarded procedure in [docs/mysql-migration.md](docs/mysql-migration.md).
|
|
|
|
Implementation follows the phased roadmap in [docs/architecture.md](docs/architecture.md).
|