nigig-org/crates/apps/nigig-site/README.md
andodeki ac8f8aa002
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
chore: sync full working tree to gitdab
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.
2026-09-12 07:15:24 +03:00

2.7 KiB

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