How aniket0713/marketgrowapp works
MarketGrow is a Spring Boot REST API for US and Indian stock quotes. A client requests a market-specific quote or the dashboard; the controller delegates to the matching market service, which fetches and maps provider data into quote models. Dashboard requests gather both watchlists and skip failed symbols. Global exception advice translates service errors into HTTP responses. The strategy interface separates market providers. Provider and controller calls are shown from excerpts; other Spring wiring is not inferred.
Main entry points: StockController.java Stock Controller · UsStockServiceImpl.java US Service · IndianStockServiceImpl.java Indian Service · StockQuote.java Stock Quote
Components 14
REST API
- Stock Controller
market-grow/src/main/java/com/aniket/marketgrow/controller/StockController.java
Market Services
- US Service
market-grow/src/main/java/com/aniket/marketgrow/service/UsStockServiceImpl.java - Indian Service
market-grow/src/main/java/com/aniket/marketgrow/service/IndianStockServiceImpl.java - Service Interface
market-grow/src/main/java/com/aniket/marketgrow/service/StockService.java - Alpha Vantage
- Yahoo Finance
Response Models
- Stock Quote
market-grow/src/main/java/com/aniket/marketgrow/model/StockQuote.java - Dashboard Response
market-grow/src/main/java/com/aniket/marketgrow/model/DashboardResponse.java
Error Handling
- Exception Advice
market-grow/src/main/java/com/aniket/marketgrow/exception/GlobalExceptionHandler.java - Not Found Error
market-grow/src/main/java/com/aniket/marketgrow/exception/StockNotFoundException.java - Rate Limit Error
market-grow/src/main/java/com/aniket/marketgrow/exception/RateLimitException.java
Runtime Support
- Spring Boot Entry
market-grow/src/main/java/com/aniket/marketgrow/MarketGrowApplication.java - HTTP Client Config
market-grow/src/main/java/com/aniket/marketgrow/config/RestTemplateConfig.java
Other components
- API Client
Connections 18
- API Client → Stock Controller: requests quotes
market-grow/src/main/java/com/aniket/marketgrow/controller/StockController.java - Stock Controller → US Service: gets US quotes
market-grow/src/main/java/com/aniket/marketgrow/controller/StockController.java - Stock Controller → Indian Service: gets Indian quotes
market-grow/src/main/java/com/aniket/marketgrow/controller/StockController.java - Stock Controller → Dashboard Response: returns dashboard
market-grow/src/main/java/com/aniket/marketgrow/controller/StockController.java - Stock Controller → Stock Quote: returns quotes
market-grow/src/main/java/com/aniket/marketgrow/controller/StockController.java - US Service → Alpha Vantage: fetches quote
market-grow/src/main/java/com/aniket/marketgrow/service/UsStockServiceImpl.java - Indian Service → Yahoo Finance: fetches quote
market-grow/src/main/java/com/aniket/marketgrow/service/IndianStockServiceImpl.java - US Service → Stock Quote: maps provider data
market-grow/src/main/java/com/aniket/marketgrow/service/UsStockServiceImpl.java - Indian Service → Stock Quote: maps provider data
market-grow/src/main/java/com/aniket/marketgrow/service/IndianStockServiceImpl.java - Dashboard Response → Stock Quote: contains quotes
market-grow/src/main/java/com/aniket/marketgrow/model/DashboardResponse.java - US Service → Not Found Error: throws
market-grow/src/main/java/com/aniket/marketgrow/service/UsStockServiceImpl.java - US Service → Rate Limit Error: throws
market-grow/src/main/java/com/aniket/marketgrow/service/UsStockServiceImpl.java - Indian Service → Not Found Error: throws
market-grow/src/main/java/com/aniket/marketgrow/service/IndianStockServiceImpl.java - Exception Advice → Not Found Error: handles
market-grow/src/main/java/com/aniket/marketgrow/exception/GlobalExceptionHandler.java - Exception Advice → Rate Limit Error: handles
market-grow/src/main/java/com/aniket/marketgrow/exception/GlobalExceptionHandler.java - Stock Controller → Service Interface: injects interface
market-grow/src/main/java/com/aniket/marketgrow/controller/StockController.java - US Service → Service Interface: implements
market-grow/src/main/java/com/aniket/marketgrow/service/UsStockServiceImpl.java - Indian Service → Service Interface: implements
market-grow/src/main/java/com/aniket/marketgrow/service/IndianStockServiceImpl.java