How vinay27112/yieldmind works
YieldMind is a DeFi yield optimization and risk-management platform. Users connect a wallet, inspect portfolio and market data, request risk or strategy guidance, and deposit or withdraw through the execution service; confirmed transactions feed analytics and notification consumers asynchronously. The graph preserves all eight documented services and the Sepolia contract capability. Some service internals and contract source files are absent from the supplied tree, so those relationships are shown only where the README or excerpts support them.
Main entry points: api.js Service API client · App.jsx React frontend · vaultService.js Vault operations · main.py Performance analytics
Components 20
User application
- React frontend
frontend/src/App.jsx - Wallet connection
frontend/src/pages/ConnectPage.jsx - Portfolio dashboard
frontend/src/pages/DashboardPage.jsx - Deposit interface
frontend/src/pages/DepositPage.jsx - Service API client
frontend/src/services/api.js
Identity and portfolio
- Accounts and sessions
services/auth-service/src/controllers/authController.js - Wallet portfolio
services/wallet-service/src/services/portfolioService.js
Market intelligence
- Protocol rates
services/protocol-service/src/controllers/protocolController.js - Price feeds
services/price-feed-service/src/services/priceFetcher.js
Execution and contracts
- Transaction controller
services/execution-service/src/controllers/executionController.js - Vault operations
services/execution-service/src/services/vaultService.js - YieldVault contracts
Insights and events
- Risk and strategies
services/ai-service/src/routers/risk.py - AI explanations
services/ai-service/src/services/groq_service.py - Performance analytics
services/analytics-service/src/main.py - Snapshot database
services/analytics-service/src/database.py - Email notifications
services/notification-service/src/consumers/messageHandler.js
Other components
- DeFi user
- Kafka events
- Sepolia network
Connections 24
- DeFi user → React frontend: uses
- React frontend → Wallet connection: routes to
frontend/src/App.jsx - React frontend → Portfolio dashboard: routes to
frontend/src/App.jsx - React frontend → Deposit interface: routes to
frontend/src/App.jsx - Wallet connection → Service API client: requests auth
- Portfolio dashboard → Service API client: requests data
frontend/src/pages/DashboardPage.jsx - Deposit interface → Service API client: requests execution
frontend/src/pages/DepositPage.jsx - Service API client → Accounts and sessions: calls service
- Service API client → Wallet portfolio: calls service
- Service API client → Protocol rates: calls service
- Service API client → Risk and strategies: calls service
- Service API client → Performance analytics: calls service
- Service API client → Transaction controller: calls service
- Transaction controller → Vault operations: calls operations
services/execution-service/src/controllers/executionController.js - Vault operations → YieldVault contracts: submits transactions
- Vault operations → Sepolia network: uses RPC
- Wallet portfolio → Sepolia network: reads balances
services/wallet-service/src/services/portfolioService.js - Price feeds → Kafka events: publishes prices
- Kafka events → Risk and strategies: updates risk
- Kafka events → Email notifications: delivers alerts
- Vault operations → Kafka events: publishes confirmations
services/execution-service/src/services/vaultService.js - Performance analytics → Snapshot database: initializes storage
services/analytics-service/src/main.py - Performance analytics → Kafka events: starts transaction consumer
services/analytics-service/src/main.py - Risk and strategies → AI explanations: requests explanations
services/ai-service/src/routers/risk.py