nigig-org/crates/apps/nigig-site
Arena Agent 1cb6ad289b
Some checks are pending
nigig-site / Owned paths and honest test contracts (push) Waiting to run
nigig-site / Cargo check-all-targets (push) Waiting to run
nigig-site / Cargo clippy-site-owned (push) Waiting to run
nigig-site / Cargo contained-media-export-fixtures (push) Waiting to run
nigig-site / Cargo containment-storage-crypto (push) Waiting to run
nigig-site / Cargo integration-non-live (push) Waiting to run
nigig-site / Cargo production-dependency-containment (push) Waiting to run
nigig-site / Cargo unit (push) Waiting to run
nigig-site / Runtime UI (explicitly skipped until enabled) (push) Waiting to run
nigig-site / Migration and recovery (explicitly skipped until enabled) (push) Waiting to run
nigig-site / Real server interoperability (explicitly skipped until enabled) (push) Waiting to run
nigig-site / Media limits (explicitly skipped until enabled) (push) Waiting to run
nigig-site / Security and supply-chain baseline (push) Waiting to run
nigig-site / Release capability gate (push) Waiting to run
repo hygiene / hygiene (push) Waiting to run
docs(nigig-site): record SITE-00 and SITE-01 publication
2026-09-12 15:50:05 +00:00
..
src feat(nigig-site): enforce SITE-01 fail-closed containment 2026-09-12 15:46:30 +00:00
tests feat(nigig-site): enforce SITE-01 fail-closed containment 2026-09-12 15:46:30 +00:00
tools feat(nigig-site): enforce SITE-01 fail-closed containment 2026-09-12 15:46:30 +00:00
Cargo.toml feat(nigig-site): enforce SITE-01 fail-closed containment 2026-09-12 15:46:30 +00:00
EXECUTION_PLAN.md docs(nigig-site): record SITE-00 and SITE-01 publication 2026-09-12 15:50:05 +00:00
NIGIG_SITE_ASSESSMENT_AND_PLAN.md docs+test(site,pdf): assessment update + font_info port cases 2026-09-12 08:55:20 +03:00
README.md chore: sync full working tree to gitdab 2026-09-12 07:15:24 +03:00

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

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