### Portfolio Data Refresh Sequence Flow Source: https://github.com/streocalibration/divflow_1/blob/main/doc/architecture/diagrams/sequence_refresh.md This Mermaid sequence diagram visualizes the end-to-end data refresh process in a portfolio management application. It illustrates the interaction flow starting from a user's refresh action, through the main window, application logic, price fetching service, and portfolio data management, culminating in the UI update. ```Mermaid sequenceDiagram participant User participant MainWindow participant PortfolioApp participant PriceFetcher participant Portfolio User->>MainWindow: onRefreshClicked() MainWindow->>PortfolioApp: refreshData() PortfolioApp->>PriceFetcher: fetchAll() PriceFetcher-->>PortfolioApp: prices PortfolioApp->>Portfolio: updatePrices(prices) PortfolioApp->>Portfolio: calculateStats() PortfolioApp-->>MainWindow: updatedData MainWindow->>MainWindow: updateUI() ``` -------------------------------- ### Desktop Application Architecture Flowchart Source: https://github.com/streocalibration/divflow_1/blob/main/doc/architecture/diagrams/deployment.md A Mermaid flowchart illustrating the components of the desktop application, including the Desktop App (UI, Logic), Local Storage (JSON/SQLite), and External API (Price Data Service), and their data flows. ```Mermaid flowchart TB subgraph Desktop_App ["Desktop App"] UI["UI (tkinter/Qt)"] Logic["PortfolioApp Logic"] end subgraph Local_Storage ["Local Storage"] DB["JSON / SQLite"] end subgraph External_API ["External API"] API["Price Data Service"] end Desktop_App --> Local_Storage Desktop_App --> External_API ``` -------------------------------- ### Portfolio Management Application Class Diagram Source: https://github.com/streocalibration/divflow_1/blob/main/doc/architecture/diagrams/class_diagram.md This snippet provides a structured API documentation representation of the core classes and their interactions within the portfolio management application, derived from the Mermaid class diagram. It details attributes, methods, and relationships for each component. ```APIDOC PortfolioApp: - portfolio: Portfolio - priceFetcher: PriceFetcher - storage: PortfolioStorage - ui: MainWindow + refreshData(): void + saveState(): void + loadState(): void + calculateRebalancing(amount: float): void Portfolio: - assets: List + addAsset(asset: Asset): void + removeAsset(ticker: str): void + getTotalValue(): float + getAllocationRatios(): Map + updatePrices(prices: Map): void + calculateStats(): Map Asset: - ticker: str - weight: float - shares: float - avgCost: float - closePrice: float - dividendYield: float + getValue(): float + getGain(): float + getDividendAmount(): float + getWeightPercentage(total: float): float PriceFetcher: + fetchClosePrice(ticker: str): float + fetchDividend(ticker: str): float + fetchAll(tickers: List): Map PortfolioStorage: + save(portfolio: Portfolio): void + load(): Portfolio MainWindow: - tableWidget: Widget - inputPanel: Widget - refreshButton: Button - rebalancingInput: InputField + updateUI(): void + onRefreshClicked(): void + onSaveClicked(): void + onAddFundClicked(): void Relationships: PortfolioApp uses Portfolio PortfolioApp uses PriceFetcher PortfolioApp uses PortfolioStorage PortfolioApp uses MainWindow Portfolio contains multiple Assets ``` -------------------------------- ### Mermaid Flowchart for Divflow 1 User Interactions Source: https://github.com/streocalibration/divflow_1/blob/main/doc/architecture/diagrams/use_case.md Defines the main user-driven functionalities of the streocalibration/divflow_1 project, including adding assets, refreshing portfolios, rebalancing, and saving/loading application state, visualized as a Mermaid flowchart. ```Mermaid flowchart TB %% 액터 User((User)) %% 유스케이스 A1((Add Asset)) A2((Refresh Portfolio)) A3((Rebalance with Deposit)) A4((Save/Load State)) %% 관계 User --> A1 User --> A2 User --> A3 User --> A4 ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.