Skip to content

feat(investor): implement advanced investor analytics dashboard#55

Open
ekwe7 wants to merge 1 commit into
Chainmove:mainfrom
ekwe7:Build-investor-portfolio-analytics-and-pool-performance-dashboard
Open

feat(investor): implement advanced investor analytics dashboard#55
ekwe7 wants to merge 1 commit into
Chainmove:mainfrom
ekwe7:Build-investor-portfolio-analytics-and-pool-performance-dashboard

Conversation

@ekwe7

@ekwe7 ekwe7 commented Jun 21, 2026

Copy link
Copy Markdown

closes #43

Description
This PR delivers a comprehensive, end-to-end Investor Analytics Dashboard that consolidates portfolio health, investment pool performance, expected vs. actual returns, live wallet balances, and overall asset ownership metrics into a single, cohesive user experience.

To achieve this cleanly, both front-end presentation layers and back-end secure data aggregation routes were built to query existing MongoDB transaction/pool schemas without exposing cross-tenant data structures.

Why It Matters
Investors require a deep, consolidated view of where their funds are deployed beyond flat list views. By introducing metric cards, repayment trends, and grouped transaction history trackers, this update builds explicit clarity around asset vehicle utilization, historic payout speeds, and expected forward yield timelines.

Changes Made

  • Frontend Views & Layouts: Engineered responsive dashboard pages utilizing dedicated analytics charts, modular vehicle-pool cards, and data table components optimized across mobile/desktop layout boundaries.
  • State Machine Enhancements: Implemented defensive UI treatment branches covering quick skeleton loaders, strict network/query error callouts, and clean on-boarding empty states for freshly-registered investors.
  • Backend Aggregation Pipelines: Established secure, isolated REST/GraphQL endpoints mapping MongoDB calculation queries for total capital invested, available balance metrics, and overall yield trends.
  • Context Isolation & Gates: Wrapped data fetching routines directly around the authenticated investor's active session, strictly locking out cross-user queries.

Acceptance Criteria Verified

  • High-level overview displays accurate active investment tallies, lifetime yields, and wallet balances.
  • Clear transaction table available with responsive sorting, pagination, or grouping filters.
  • Handled data states gracefully across Loading, Missing Data (Empty State), and Server Error situations.
  • Data boundaries strictly isolated exclusively to the logged-in user context.
  • Verified build stability via successful npm run lint and npm run build command passes.

Performance & Build Verification

npm run lint && npm run build

✓ Minting TypeScript validations
✓ Running ESLint checks across project files (Clean)
✓ Creating an optimized production build
✓ Compiled successfully (All pages optimized)

Security Notes

  • Data integrity is strictly validated on the controller/API boundary using server-side session checks.
  • Aggregated pipelines ensure sensitive backend user settings or cross-pool parameters never leave database boundaries.

- Add front-end layout with performance cards, charts, and transaction tables
- Implement clean, responsive UI layouts optimized for mobile and desktop screens
- Create secure backend aggregation API routes to fetch scoped investor metrics
- Integrate MongoDB model calculations for total returns, active pools, and payouts
- Add granular state handling for loading, API errors, and new investor empty states
- Enforce strict authorization to ensure data is scoped only to authenticated users
- Ensure clean verification via npm run lint and successful production build runs
@Obiajulu-gif

Copy link
Copy Markdown
Collaborator

@ekwe7 great work sir, can you fix the lint error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[HARD][DASHBOARD] Build investor portfolio analytics and pool performance dashboard

2 participants