Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,34 @@ jobs:

- name: Build
run: pnpm --filter sidewalk-web build

mobile:
name: Mobile
runs-on: ubuntu-latest
defaults:
run:
working-directory: .

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'pnpm'

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Lint
run: pnpm --filter mobile lint

- name: Type check
run: pnpm --filter mobile typecheck
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,10 @@ Mobile app:
pnpm dev:mobile
```

## Demo runbook

Use [docs/phase-1-demo-runbook.md](./docs/phase-1-demo-runbook.md) for the current end-to-end demo path across API, web, and mobile.

## Local quality checks

Run the full workspace checks:
Expand Down
39 changes: 39 additions & 0 deletions docs/phase-1-demo-runbook.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Phase 1 Demo Runbook

This runbook covers the current Phase 1 demo path using the API, web app, and mobile app.

## Environment

- Install dependencies with `pnpm install`
- Ensure MongoDB and Redis are available
- Configure the API from `apps/api/.env.example`
- Configure the mobile app from `apps/mobile/.env.example`

## Start the stack

1. Run `pnpm --filter sidewalk-api db:seed`
2. Run `pnpm dev:api`
3. Run `pnpm dev:web`
4. Run `pnpm dev:mobile`

## Web flow

1. Open `http://localhost:3000/diagnostics`
2. Verify the health card shows API connectivity
3. Open the OTP auth flow and sign in
4. Create a report from `/dashboard/reports/new`
5. Open the report detail page
6. If using an admin account, open the moderation queue and submit a status update

## Mobile flow

1. Launch the Expo app
2. Request and verify an OTP from the login screen
3. Submit a report from the Reports tab
4. Reopen the app to confirm the stored session restores

## Known limitations

- OTP delivery depends on the configured email transport
- The admin anchoring flow still expects the original Stellar transaction hash
- Mobile media capture and richer report history are still evolving beyond the core Phase 1 demo
Loading