| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Independent mobile client for Chamilo LMS 2.1+.
The application uses Vue 3, TypeScript, Vite and Capacitor. It consumes verified REST/API Platform contracts and does not load the remote Chamilo SPA or legacy pages through silent autologin.
Implemented:
Not implemented yet:
Node >=22.12.0 <23
Yarn 4.17.1 through Corepack
Java 21
Android SDK Platform 36
Android SDK Build Tools 35+
corepack enable
corepack install --global yarn@4.17.1
yarn install --immutableyarn devThe browser build requires campus CORS unless the explicit local Vite proxy is enabled. See .env.example.
yarn licenses:audit
yarn format:check
yarn lint
yarn typecheck
yarn test:unit
yarn buildConfigure the local SDK without committing its path:
export ANDROID_HOME="$HOME/Android/Sdk"
export PATH="$PATH:$ANDROID_HOME/platform-tools"
printf 'sdk.dir=%s
' "$ANDROID_HOME" > android/local.propertiesSynchronize and build:
yarn android:sync
yarn android:build:debugThe debug APK is generated at:
android/app/build/outputs/apk/debug/app-debug.apk
Install on an authorized device:
adb install -r android/app/build/outputs/apk/debug/app-debug.apkandroid/local.properties, Gradle outputs, copied web assets, APKs and signing material are not committed.
Register the Android application ID org.chamilo.mobile in the Firebase project, then copy the project-specific configuration to:
android/app/google-services.json
Never commit this file. After adding it, synchronize and build again:
yarn android:sync
yarn android:build:debugThe selected Chamilo campus must expose the authenticated POST /api/mobile_push_installations and DELETE /api/mobile_push_installations/{installationId} operations. The app stores only a campus-scoped installation UUID and registration owner; the FCM token is sent to the selected campus and is not persisted by the web layer.
The message inbox remains available without Firebase. It uses the authenticated /api/mobile_messages and /api/mobile_message_recipients operations. Firebase only adds native delivery while Android is in the background or closed. A notification action opens a message only when its installation identifier matches the active campus and authenticated user.
All network calls pass through:
HttpClient
├── BrowserHttpClient
└── NativeHttpClient
Views and stores do not import Axios, fetch, Capacitor HTTP, localStorage or native storage plugins directly.
Persistence is also abstracted and namespaced by campus:
campusId/token
campusId/profile
campusId/cache
campusId/settings
campusId/push-installation
JWTs use native secure storage on Android. Passwords are never stored, and JWTs and FCM tokens must not be logged or passed in query strings.
Chamilo Mobile remains AGPL-3.0. Direct official Capacitor packages are MIT-licensed. See:
THIRD_PARTY_NOTICES.md
reports/LICENSE_AUDIT.md
The JavaScript audit is an engineering safeguard. Android/Gradle release notices require a dedicated review before public store distribution.
| Back | FazBrowse Home | New Git URL |