How aperisic85/reportflow works
ReportFlow supports four departments in preparing monthly plans and reports, submitting department documents, and assembling director-level revisions for Word/PDF export. The browser UI uses a shared API client to reach the Rust service; the README documents PostgreSQL persistence and the separate Python renderer. The graph preserves the documented workflow and sampled UI features, including activity history, discussion, and carry-forward planning. Backend internals are only partially excerpted, so their finer-grained relationships are not inferred.
Main entry points: api.ts API client · main.rs Rust API · main.tsx Application shell · Dashboard.tsx Dashboard
Components 20
Browser application
- Application shell
frontend/src/main.tsx - API client
frontend/src/api.ts - Dashboard
frontend/src/Dashboard.tsx - Monthly entry
frontend/src/MonthlyEntry.tsx - Carry planner
frontend/src/CarryPlanner.tsx - Activity editor
frontend/src/ActivityDetailsEditor.tsx - History search
frontend/src/HistorySearch.tsx - Activity discussion
frontend/src/ActivityConversation.tsx - Discussion inbox
frontend/src/Inbox.tsx - Report previews
frontend/src/ReportPreview.tsx
Report workflow
- Rust API
backend/src/main.rs - Activity registry
backend/src/main.rs - Monthly records
backend/src/main.rs - Department submissions
backend/src/main.rs - Sector revisions
backend/src/main.rs
Persistent data
- PostgreSQL
Document generation
- DOCX/PDF renderer
document-service/app.py - Official Word template
document-service/templates/plovput-clean.docx
Other components
- Department staff
- Sector director
Connections 21
- Department staff → Application shell: uses
README.md - Sector director → Application shell: uses
README.md - Application shell → Dashboard: renders
frontend/src/main.tsx - Application shell → Monthly entry: renders
frontend/src/main.tsx - Application shell → Carry planner: renders
frontend/src/main.tsx - Dashboard → API client: queries
frontend/src/Dashboard.tsx - Monthly entry → API client: submits via
frontend/src/api.ts - Carry planner → API client: requests via
frontend/src/CarryPlanner.tsx - Activity editor → API client: updates via
frontend/src/ActivityDetailsEditor.tsx - History search → API client: searches via
frontend/src/HistorySearch.tsx - Activity discussion → API client: collaborates via
frontend/src/ActivityConversation.tsx - Discussion inbox → API client: loads via
frontend/src/Inbox.tsx - Application shell → API client: requests via
frontend/src/api.ts - API client → Rust API: calls
README.md - Rust API → PostgreSQL: reads and writes
README.md - Rust API → DOCX/PDF renderer: requests exports
README.md - DOCX/PDF renderer → Official Word template: renders from
README.md - Rust API → Activity registry: manages
backend/src/main.rs - Rust API → Monthly records: stores
backend/src/main.rs - Rust API → Department submissions: handles
README.md - Rust API → Sector revisions: creates and locks
README.md