This repository now includes the Step 1 local application skeleton described in docs/app-plan.md:
apps/web: React + TypeScript frontend served locally with Viteapps/api: TypeScript local API with a/healthendpoint.env: shared local port and URL configuration for both services
Install dependencies:
npm installStart both services:
npm run devExpected local URLs:
- Frontend:
http://localhost:5173 - API health:
http://localhost:4000/health
- Run
npm run dev. - Open
http://localhost:5173and confirm the frontend renders. - Open
http://localhost:4000/healthand confirm the API responds with JSON.
With the local API running, execute:
npm run verify:apiThe script checks health, adapter-backed vendor listing, session creation, session reload, and a PID step update that should unlock company initiation.
The igrant-sandbox vendor uses real HTTP calls from the local API to the iGrant Product API.
Configure these variables before using that vendor in the UI:
IGRANT_BASE_URL=https://demo-api.igrant.io
IGRANT_AUTH_SCHEME=Bearer
IGRANT_API_KEY=...
IGRANT_PERSONAL_CREDENTIAL_DEFINITION_ID=...
IGRANT_POA_CREDENTIAL_DEFINITION_ID=...
IGRANT_EUCC_CREDENTIAL_DEFINITION_ID=...
IGRANT_VAT_CREDENTIAL_DEFINITION_ID=...The app uses repository fixture data as test claims, but sends those claims through iGrant to external wallet applications rather than the in-app mock wallets.
Both vendor profiles also expose wallet seeding for operator testing. For mock-local, the app stores fixture summaries directly in local session state. For igrant-sandbox, the seed action calls the vendor issuance API, creates a real OID4VCI offer, and the UI renders a QR code plus deep-link for scanning with a real wallet.
An Azure deployment plan for this repository is available in .azure/plan.copilotmd.
It contains:
- the recommended Azure resource layout,
- required environment variable mapping for both services,
- and step-by-step Azure CLI provisioning and deployment commands.
This repository includes an Azure deployment workflow at .github/workflows/deploy-azure.yml.
Triggers:
- push to
main - manual run from Actions (
workflow_dispatch)
Required repository secrets:
AZURE_CLIENT_IDAZURE_TENANT_IDAZURE_SUBSCRIPTION_IDAZURE_RESOURCE_GROUPAZURE_WEBAPP_API_NAMEAZURE_WEBAPP_WEB_NAME
The workflow will:
- install dependencies and run type checks,
- log in to Azure using OIDC,
- set both Web Apps to Node 24 LTS runtime,
- apply startup/app settings for API and Web,
- deploy the repository package to both apps.