How i-m-js/qts-spring-ms-app works
This is an experimental quotes application: users log in, view a random or selected quote, and like or dislike it; the app exposes quote and user statistics. The README also documents quote CRUD and importing quotes from a placeholder service. The UI and service source establish the main API workflow, while repository and infrastructure wiring is only partly sampled. Kafka/Flink/Redis trending and a trending UI are explicitly unfinished, so they are shown as planned capabilities, not active runtime stages.
Main entry points: GatewayServiceApplication.java API gateway · QuoteServiceImpl.java Quote operations · app Quotes UI · QuotesController.java Quotes API
Components 23
User interface
- Quotes UI
services/quotes-ui/src/main/ui/src/app - Login UI
services/quotes-ui/src/main/ui/src/app/components/login/login.component.ts - Quote dashboard
services/quotes-ui/src/main/ui/src/app/components/dashboard/dashboard.component.ts - Auth client
services/quotes-ui/src/main/ui/src/app/services/auth.service.ts - Quote client
services/quotes-ui/src/main/ui/src/app/services/quote.service.ts
Quotes service
- Quotes API
services/quotes-service/src/main/java/com/example/qtsapp/controller/QuotesController.java - Auth API
services/quotes-service/src/main/java/com/example/qtsapp/controller/AuthController.java - Quote operations
services/quotes-service/src/main/java/com/example/qtsapp/service/impl/QuoteServiceImpl.java - Statistics
services/quotes-service/src/main/java/com/example/qtsapp/service/impl/QuoteStatServiceImpl.java - Authentication
services/quotes-service/src/main/java/com/example/qtsapp/service/MockAuthServiceImpl.java - Quote repositories
services/quotes-service/src/main/java/com/example/qtsapp/repository - Quote database
services/quotes-service/src/main/resources/db/migration/V1__IntialDbSchema.sql - Quote import client
services/quotes-service/src/main/java/com/example/qtsapp/feign/JsonQuoteFeignClient.java
Service platform
- API gateway
infra/gateway-service/src/main/java/com/example/qtsapp/GatewayServiceApplication.java - Service registry
infra/eureka-server/src/main/java/com/example/qtsapp/EurekaServer.java - Config server
infra/config-server/src/main/java/com/example/qtsapp/ConfigServer.java - Admin app
infra/admin-app/src/main/java/com/example/qtsapp/AdminApp.java
Planned trending
- Kafka topics
- Flink processing
- Trending cache
- Trending page
services/quotes-ui/src/main/ui/src/app
Other components
- User
- Placeholder quote site
Connections 22
- User → Quotes UI: uses
- Quotes UI → Login UI: routes to
- Quotes UI → Quote dashboard: routes to
- Login UI → Auth client: submits login
- Quote dashboard → Quote client: requests quotes
- Auth client → API gateway: sends API request
- Quote client → API gateway: sends API request
- API gateway → Quotes API: routes API
- API gateway → Auth API: routes API
- Quotes API → Quote operations: delegates quote work
- Quotes API → Statistics: requests statistics
- Auth API → Authentication: delegates login
- Quote operations → Quote repositories: reads and writes
- Statistics → Quote repositories: reads events
- Quote repositories → Quote database: persists data
- Quote operations → Quote import client: imports quotes
- Quote import client → Placeholder quote site: fetches quotes
- API gateway → Service registry: discovers services
- Quote operations → Kafka topics: planned event publishing
- Kafka topics → Flink processing: planned event stream
- Flink processing → Trending cache: planned trending writes
- User → Trending page: planned browsing