Skip to main content

Reference

The technical detail behind the rest of the documentation.

PageWhat it covers
ArchitectureWhat lives in the app, what lives in the library, and where to change what
Configurationstencil.config.ts, the Env values, and the service wiring
ScriptsEvery npm script of the app, and its two test modes
Browser supportWhich devices are supported, and what to do about older ones
VersioningCalVer for the app, semver for the library, and how to tell what a device runs
TroubleshootingSymptoms, causes, fixes

Repositories​

RepositoryWhat it holds
audioguide-appThe shell application. What you fork.
smartcompanion-library@smartcompanion/ui, /services and /data — almost everything a visitor sees — and this documentation
data-formatThe JSON schema and the example data files
native-audio-playerThe Capacitor audio plugin — background playback, lock-screen controls
engraftThe customization tool

External documentation​

StorybookEvery UI component, with its properties and events
Data format specificationThe schema, readable
engraftThe customization tool
StencilThe web component compiler
Ionic FrameworkThe component and routing layer
WorkboxThe service worker toolkit
CapacitorThe native bridge, used for audio and sharing

Technology​

FrameworkStencil 4 — JSX with an h factory, compiled to standard web components
UIIonic Framework 9
LanguageTypeScript, ES2022
StylingSass with CSS custom properties, prefixed --sc-
Service workerWorkbox 7, generated only with offline support
TestsWebdriverIO with Mocha, driving Chrome through puppeteer-core
Package managernpm
Node22
LicenceBSD 2-Clause