How delght/assignment works
Coinance imports trade histories, combines them with a fixed price snapshot, computes portfolio positions and valuation, and exposes the results to a dashboard. The frontend presents summary figures, holdings, charts, dataset controls, and a filterable transaction explorer; it formats API values rather than calculating P&L. The graph emphasizes the documented workflow and relationships visible in excerpts or the source index; unsampled feature internals and HTTP wiring are represented only where documented.
Main entry points: PortfolioView.tsx Dashboard view · dataset.service.ts Dataset service · transactions.controller.ts Transactions API · client.ts API client
Components 24
Portfolio data and calculation
- Trade parser
backend/src/portfolio/import/trades.ts - Portfolio analysis
backend/src/portfolio/index.ts - Weighted cost ledger
backend/src/portfolio/calculation/ledger.ts - Portfolio valuation
backend/src/portfolio/calculation/valuation.ts
Backend dataset and API
- Sample file reader
backend/src/dataset/sample-files.ts - Dataset service
backend/src/dataset/dataset.service.ts - Dataset builder
backend/src/dataset/dataset.ts - Dataset import API
backend/src/api/dataset.controller.ts - Portfolio API
backend/src/api/portfolio.controller.ts - Transactions API
backend/src/api/transactions/transactions.controller.ts - Transaction query parser
backend/src/api/transactions/transactions.query.ts - Transaction selector
backend/src/api/transactions/select-transactions.ts - Response serializer
backend/src/api/serialize.ts
Dashboard interface
- API client
frontend/src/api/client.ts - Dashboard view
frontend/src/app/PortfolioView.tsx - Dataset controls
frontend/src/features/dataset/DatasetActions.tsx - Portfolio summary
frontend/src/features/overview/SummaryCards.tsx - Holdings display
frontend/src/features/holdings/HoldingsTable.tsx - Portfolio charts
frontend/src/features/charts/PnlChart.tsx - Transaction explorer
frontend/src/features/transactions/TransactionExplorer.tsx - Value formatting
frontend/src/format/format.ts
Other components
- Portfolio user
- Trade CSV
- Price snapshot
Connections 29
- Portfolio user → Dashboard view: views
README.md - Trade CSV → Dataset import API: uploads
README.md - Price snapshot → Sample file reader: loads snapshot
README.md - Sample file reader → Dataset service: reads samples
backend/src/dataset/dataset.service.ts - Dataset import API → Dataset service: imports or resets
backend/src/api/dataset.controller.ts - Dataset service → Trade parser: parses trades
backend/src/dataset/dataset.service.ts - Dataset service → Dataset builder: builds dataset
backend/src/dataset/dataset.service.ts - Dataset builder → Portfolio analysis: analyses trades
backend/src/dataset/dataset.ts - Portfolio analysis → Weighted cost ledger: builds ledger
backend/src/portfolio/index.ts - Portfolio analysis → Portfolio valuation: values positions
backend/src/portfolio/index.ts - Portfolio API → Dataset service: gets dataset
backend/src/api/portfolio.controller.ts - Portfolio API → Response serializer: serializes response
backend/src/api/portfolio.controller.ts - Dataset import API → Response serializer: serializes dataset
backend/src/api/dataset.controller.ts - Transactions API → Dataset service: gets dataset
backend/src/api/transactions/transactions.controller.ts - Transactions API → Transaction query parser: parses filters
backend/src/api/transactions/transactions.controller.ts - Transactions API → Transaction selector: selects rows
backend/src/api/transactions/transactions.controller.ts - Transaction selector → Response serializer: serializes rows
backend/src/api/transactions/select-transactions.ts - API client → Dataset import API: calls import API
- API client → Portfolio API: requests portfolio
- API client → Transactions API: requests transactions
- Dashboard view → API client: fetches data
- Dashboard view → Dataset controls: shows controls
- Dashboard view → Portfolio summary: shows summary
- Dashboard view → Holdings display: shows holdings
- Dashboard view → Portfolio charts: shows charts
- Dashboard view → Transaction explorer: shows transactions
- Portfolio summary → Value formatting: formats values
- Holdings display → Value formatting: formats values
- Portfolio charts → Value formatting: formats values