Desktop adaptation inspired by the original ASPIRE Next.js project at:
/Users/petricabutusina/Desktop/Apps/Aspire/ASPIRE
- Login (web-app auth session)
- Workspace dashboard
- Case Library with search/filter
- Case Detail view
- Predictive Lab (cohort-informed scenario engine)
- Research insights page
- Account (password change)
- Admin (user management via
/api/users)
- Electron
- React 18
- TypeScript
- Vite
- React Router
src/data/cohort-seed.jsonsrc/data/cohort-cstore.json
These are used as local fallback if web API calls fail.
Desktop calls the ASPIRE web app backend through Electron IPC proxying:
- Auth:
/api/auth/login,/api/auth/logout,/api/auth/session - Cases:
/api/cases,/api/cases/:id,/api/cases/:id/retry - Platform:
/api/cstore-status,/api/r1fs-status - Users:
/api/users(GET,POST,PATCH,PUT)
Set the web app base URL with:
ASPIRE_WEB_APP_URL=http://localhost:3000 npm run devIf ASPIRE_WEB_APP_URL is not set, desktop defaults to https://aspire-lab.archicava.com.
npm install
npm run devTo run without a dev server (local production build):
npm startnpm run buildThis outputs renderer + Electron bundles via Vite.
After dependencies are installed (including electron-builder), use:
npm run dist:mac
npm run dist:windist:mac builds both Apple Silicon (arm64) and Intel (x64) installers.
Or build all configured targets:
npm run distArtifacts are written to release/.
- Copy signing template:
cp .env.mac-signing.example .env.mac-signing- Fill in your Apple Developer values in
.env.mac-signing. UseCSC_NAME="Your Name (TEAMID)"(noDeveloper ID Application:prefix).APPLE_TEAM_IDis required for notarization with app-specific password. - Build signed/notarized mac artifacts:
npm run dist:mac:signed- Repository:
https://github.com/Archicava/ASPIRE-Desktop - License: MIT (
LICENSE) - Contribution guide:
CONTRIBUTING.md - Security policy:
SECURITY.md
- CI workflow:
.github/workflows/ci.yml(type-check + build on PR/push) - Release workflow:
.github/workflows/release.yml
For signed/notarized macOS releases from GitHub Actions, set repository secrets:
CSC_LINK(base64 or URL to yourDeveloper ID Application.p12)CSC_KEY_PASSWORDAPPLE_IDAPPLE_APP_SPECIFIC_PASSWORDAPPLE_TEAM_ID
To publish a release:
- Bump
versioninpackage.json. - Commit and push to
main. - Create and push a version tag:
git tag v0.1.0
git push origin v0.1.0GitHub Actions will build installers and upload artifacts to GitHub Releases.