How junsoo-kim/myanalyst works
MyAnalyst is a RAG-based company-analysis report service. Users configure a report in the React app, submit a generation job, and receive a generated report for reading. The README documents a job-to-worker pipeline, retrieval over a knowledge base, and event-driven report saving and replication; it also describes glossary, market-data, chat, voice, and notification capabilities. These branches are retained, but several service-to-service links are documented only at a high level, so the graph does not infer detailed runtime calls beyond the shown excerpts and README.
Main entry points: App.js React application · KafkaMessagingConfig.java Kafka events · ChatService.java Report chat · ApiGatewayApplication.java API gateway
Components 24
Web experience
- React application
FE/src/App.js
Identity and reports
- API gateway
services/api-gateway/src/main/java/khu_swcon/myanalyst/gateway/ApiGatewayApplication.java - Authentication
services/auth-service/src/main/java/khu_swcon/myanalyst/auth/web/SessionController.java - User accounts
services/user-service/src/main/java/khu_swcon/myanalyst/user/UserService.java - Report service
services/report-service/src/main/java/khu_swcon/myanalyst/report/ReportService.java - Kafka events
services/generation-service/src/main/java/khu_swcon/myanalyst/shared/kafka/KafkaMessagingConfig.java
Report generation
- Generation jobs
services/generation-service/src/main/java/khu_swcon/myanalyst/generation/ReportJobService.java - Report worker
services/generation-worker/worker.py - Section RAG pipeline
services/generation-worker/pipeline.py - LLM tasks
services/generation-worker/llm_tasks.py
Knowledge and market data
- Knowledge service
services/knowledge/main.py - Hybrid retrieval
services/knowledge/hybrid_search.py - Milvus store
services/knowledge/milvus_store.py - Knowledge ingestion
services/knowledge/ingest.py - Market data
services/market-data/main.py - News and stock crawling
services/market-data/crawling.py
Reading assistance
- Term dictionary
services/dictionary-service/src/main/java/khu_swcon/myanalyst/dictionary/DictionaryService.java - Report chat
services/chat-service/src/main/java/khu_swcon/myanalyst/chat/ChatService.java - Question answering
services/qa/main.py - Speech transcription
services/stt/main.py - Job notifications
services/notification-service/src/main/java/khu_swcon/myanalyst/notification/web/ReportJobEventsController.java
Other components
- Investor
- LLM provider
- External finance sources
Connections 26
- Investor → React application: uses
- React application → API gateway: calls APIs
- API gateway → Authentication: routes identity
- Authentication → User accounts: checks accounts
- API gateway → Generation jobs: routes jobs
- Generation jobs → Report worker: dispatches generation
- Report worker → Section RAG pipeline: runs sections
- Section RAG pipeline → Knowledge service: retrieves context
services/generation-worker/pipeline.py - Section RAG pipeline → LLM tasks: generates sections
services/generation-worker/pipeline.py - LLM tasks → LLM provider: requests completions
services/generation-worker/llm_tasks.py - Knowledge service → Hybrid retrieval: searches knowledge
- Hybrid retrieval → Milvus store: queries vectors
services/knowledge/evals/retrieval_engine.py - Knowledge ingestion → Milvus store: indexes documents
services/knowledge/ingest.py - Market data → News and stock crawling: crawls sources
services/market-data/main.py - Market data → External finance sources: fetches updates
- Generation jobs → Kafka events: publishes save event
services/generation-service/src/main/java/khu_swcon/myanalyst/generation/ReportJobService.java - Kafka events → Report service: delivers save request
- Report service → Kafka events: publishes report events
services/report-service/src/main/java/khu_swcon/myanalyst/report/ReportService.java - Kafka events → Term dictionary: replicates report terms
services/dictionary-service/src/main/java/khu_swcon/myanalyst/dictionary/DictionaryService.java - Kafka events → Report chat: replicates report content
services/chat-service/src/main/java/khu_swcon/myanalyst/chat/ChatService.java - Report chat → Question answering: asks questions
services/chat-service/src/main/java/khu_swcon/myanalyst/chat/ChatService.java - Report chat → Speech transcription: transcribes audio
services/chat-service/src/main/java/khu_swcon/myanalyst/chat/ChatService.java - React application → Term dictionary: views terms
- React application → Market data: views market updates
- React application → Report chat: asks report questions
- React application → Job notifications: tracks job progress