Some checks failed
repo hygiene / hygiene (push) Has been cancelled
PDF engine / engine (push) Has been cancelled
PDF engine / makepad-integration (push) Has been cancelled
PDF engine / fuzz (push) Has been cancelled
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
traffic / gates (push) Has been cancelled
traffic / nigig-traffic (push) Has been cancelled
traffic / supply-chain (push) Has been cancelled
doc-engine / engine (push) Has been cancelled
doc-engine / coverage (push) Has been cancelled
doc-engine / consumer (push) Has been cancelled
email / gates (push) Has been cancelled
email / email-domain (push) Has been cancelled
email / nigig-email (push) Has been cancelled
email / supply-chain (push) Has been cancelled
nigig-map / test (push) Has been cancelled
sms / gates (push) Has been cancelled
sms / robius-sms (push) Has been cancelled
sms / android (push) Has been cancelled
sms / nigig-sms (push) Has been cancelled
sms / supply-chain (push) Has been cancelled
spreadsheet / engine-coverage (push) Has been cancelled
spreadsheet / ui-controller-coverage (push) Has been cancelled
p2p-intel / engine (push) Has been cancelled
p2p-intel / notifications (push) Has been cancelled
p2p-intel / coverage (push) Has been cancelled
p2p-intel / makepad-app (push) Has been cancelled
p2p-intel / exchange-tab (push) Has been cancelled
Payment domain, storage, platform and UI / isolated-payment-tests (push) Has been cancelled
Payment domain, storage, platform and UI / payment-ui-tests (push) Has been cancelled
Whole-tree sync: cad-core/cad-ui split sources, nigig-build construction_frame migration, pdf port progress, mpesa/pay/uikit/doc updates, workspace members/profiles/lock, CI workflows and reviews. See individual file history for details.
44 lines
2.7 KiB
Markdown
44 lines
2.7 KiB
Markdown
# nigig-site — construction site field app
|
|
|
|
Makepad app at `crates/apps/nigig-site` (`cargo run -p nigig-site`).
|
|
|
|
## Phases covered
|
|
|
|
| Phase | Items | Crates / files |
|
|
|-------|-------|----------------|
|
|
| **1 Daily & Monthly Report** | 1 photo/gif capture, 2 AI-refined rich text (bold/italic/underline/list), 3 PDF + Word export, 4 collaborative + master approve, 5 multi-site compile, 6 EOD -1h reminder, 7 monthly rollup, 8 72h pre-meeting reminder | `src/domain/daily_report.rs`, `src/report_pdf.rs`, `src/domain/reminders.rs`, `src/site_frame/screens/report_editor.rs`, `src/site_frame/screens/reports.rs`, `nigig-uikit::CameraWidget`, `nigig-pdf-*`, `robius-location` |
|
|
| **2 Workers** | 9 ID scan + department, 10 daily table by workstation | `src/domain/workers.rs`, `src/site_frame/screens/workers.rs` |
|
|
| **3 Chat** | 11 project-group chat on nimanyatta, shared with `nigig-chat` | `src/nimanyatta_client.rs`, `src/site_frame/screens/chat.rs`, `crates/nimanyatta/` stub |
|
|
| **4 Approvals & schedule** | 12 template by site nature, 13 task/subtask, 14 timelines & qty, 15 inspection IDs | `src/domain/approvals.rs`, `src/site_frame/screens/approvals.rs` |
|
|
| **5 Procurement** | 16 qty + sourcing, 17 directory | `src/domain/procurement.rs`, `src/site_frame/screens/procurement.rs` |
|
|
| **6 Meetings** | 18 schedule/reschedule, 19 directory, 20 live listen, 21 minutes, 22 share | `src/domain/meetings.rs`, `src/site_frame/screens/meetings.rs` |
|
|
|
|
## Chat — nimanyatta shared rooms
|
|
|
|
- Canonical server: `../nimanyatta` (`broadcast_server`, `b_server` feature, xitca-web).
|
|
- `NIMANYATTA_BASE_URL` env overrides default `http://127.0.0.1:8080`.
|
|
- `Site.chat_room_id` stores the nimanyatta `room_id` (`POST /api/v1/rooms/create`). The
|
|
same room is visible in `nigig-chat` via `POST /api/v1/sync`.
|
|
- Vendoring plan: copy `../nimanyatta` into `crates/nimanyatta/` (see `crates/nimanyatta/README.md`),
|
|
then replace `src/nimanyatta_client.rs` shims with `nigig_common` typed client.
|
|
|
|
## PDF / Word
|
|
|
|
`src/report_pdf.rs` mirrors `nigig-core::finance_report`: base-14 Helvetica, `DocumentCreator` +
|
|
`ContentWriter`, `add_page` per sheet, `finish()` → bytes. Host-testable via `nigig-pdf-document::PdfDocument::parse`.
|
|
|
|
Word is an HTML stub (`build_daily_report_word_html`) that Word opens natively; swap with `docx-rs` later.
|
|
|
|
## Camera & location
|
|
|
|
Uses `nigig-uikit::CameraWidget` (frame buffer, aspect bars, location overlay) and
|
|
`nigig_core::location` / `robius-location` — same stack as the receipt camera.
|
|
|
|
## Running
|
|
|
|
```sh
|
|
cargo run -p nigig-site
|
|
# with nimanyatta server alongside (sibling checkout):
|
|
cargo run -p nimanyatta --bin broadcast_server --features b_server # in ../nimanyatta
|
|
NIMANYATTA_BASE_URL=http://127.0.0.1:8080 cargo run -p nigig-site
|
|
```
|