Files
Krow-workspace/docs/flows/vendor-flow.md
2025-12-12 10:06:51 -05:00

122 lines
4.4 KiB
Markdown

```mermaid
flowchart TD
%% ================================
%% INICIO DEL FLUJO
%% ================================
subgraph "App Initialization"
A[Vendor logs in or opens the app] --> B[Layout.jsx loads profile using base44 auth me and applies ProtectedRoute]
B --> C[VendorDashboard.jsx summarizes listEvents and listStaff and updates layout via auth updateMe]
end
%% ================================
%% MAIN MENU
%% ================================
C --> M{Main Menu}
M --> OM[Orders]
M --> WF[Workforce]
M --> TM[Team and Hubs]
M --> FN[Finance]
M --> SC[Scheduling]
M --> CM[Communication and CRM]
M --> AN[Analytics and Auditing]
M --> TB[Task Board]
M --> FW[Financial Widgets]
%% ================================
%% ORDER MANAGEMENT
%% ================================
subgraph "Order Management"
OM --> O1[VendorOrders.jsx filters vendor events and uses ConflictDetection]
O1 --> O2{Are there orders?}
O2 -- Yes --> O3[EventDetail.jsx shows order details]
O3 --> O4[SmartAssignModal and SmartAssignmentEngine fill shifts and call updateEvent]
O1 --> O5[CreateInvoiceModal builds invoice roles from Event list and creates Invoice]
end
%% ================================
%% WORKFORCE MANAGEMENT
%% ================================
subgraph "Workforce Management"
WF --> W1[StaffDirectory.jsx lists staff using Staff list]
W1 --> W2[AddStaff.jsx and EditStaff.jsx create or update Staff]
W1 --> W3[StaffOnboarding.jsx consolidates data and creates Staff]
W1 --> W4[StaffAvailability.jsx tries to use WorkerAvailability list]
W4 --> WX[Missing entity: WorkerAvailability not present in DataConnect schema]
end
%% ================================
%% TEAM AND HUB MANAGEMENT
%% ================================
subgraph "Team and Hub Management"
TM --> T1[Teams.jsx manages internal team]
T1 --> T2[Invite Managers dialog]
T1 --> T3[Create or view hubs dialog]
T1 --> T4[Manage favorite or blocked staff]
end
%% ================================
%% FINANCE MANAGEMENT
%% ================================
subgraph "Finance Management"
FN --> F1[VendorRates.jsx and VendorRateCard read and create VendorRate]
FN --> F2[SmartVendorOnboarding.jsx creates Vendor and VendorRate via base44 entities]
F2 --> F3[Vendor connector exposes list, get, filter, create, update and delete operations]
end
%% ================================
%% SCHEDULING AND CALENDAR
%% ================================
subgraph "Scheduling"
SC --> S1[Schedule.jsx shows weekly shift calendar using listEvents]
end
%% ================================
%% COMMUNICATION AND CRM
%% ================================
subgraph "Communication and CRM"
CM --> C1[Messages.jsx and MessageInput.jsx use Conversation and Message for list create and update]
CM --> C2[Business.jsx manages leads and clients using Business, Event and Invoice]
end
%% ================================
%% ANALYTICS AND AUDITING
%% ================================
subgraph "Analytics and Auditing"
AN --> A1[Reports.jsx combines listEvents, listStaff and listInvoice]
AN --> A2[VendorPerformance.jsx shows performance metrics]
AN --> A3[ActivityLog.jsx filters ActivityLog for the user]
AN --> A4[VendorCompliance.jsx lists and captures Certification per staff member]
end
%% ================================
%% TASK BOARD
%% ================================
subgraph "Task Board"
TB --> TSK[TaskBoard.jsx tries to use Task entity]
TSK --> TX[Missing entity: Task not present in schema]
end
%% ================================
%% FINANCIAL WIDGETS (MOCK)
%% ================================
subgraph "Financial Widgets"
FW --> FW1[VendorInvoices.jsx uses mock data without real GraphQL]
FW --> FW2[VendorPerformance.jsx uses mock metrics without real GraphQL]
end
%% ================================
%% OPTIONAL STYLING
%% ================================
style A fill:#f4f4f5,stroke:#333,stroke-width:2px
style C fill:#e0f2fe,stroke:#0284c7,stroke-width:2px
style O1 fill:#f0fdf4,stroke:#16a34a,stroke-width:1px
style W1 fill:#fefce8,stroke:#ca8a04,stroke-width:1px
style T1 fill:#f5f3ff,stroke:#7c3aed,stroke-width:1px
style F1 fill:#fdf2f8,stroke:#db2777,stroke-width:1px
style WX fill:#fee2e2,stroke:#b91c1c,stroke-width:2px
style TX fill:#fee2e2,stroke:#b91c1c,stroke-width:2px
style FW1 fill:#fce7f3,stroke:#be185d,stroke-width:1px
style FW2 fill:#fce7f3,stroke:#be185d,stroke-width:1px