How hongch666/mix-web-demo works
This is a multi-service IT article discovery, recommendation, and knowledge-Q&A system. A typical user request enters through the API gateway and reaches Spring for article and account operations, GoZero for search or real-time chat, and FastAPI for RAG, AI agents, graph search, or analytics; NestJS supplies log, export, upload, and OAuth capabilities. The graph preserves these distinct branches and documented integrations. Cross-service links follow README descriptions; sampled excerpts substantiate only selected implementations, so uncertain internal call chains are omitted.
Main entry points: routes.go GoZero API · app.py FastAPI API · extractor.py RAG and agents · system.module.ts NestJS system API
Components 24
Content and identity
- Spring content API
spring/src/main/java/com/hcsy/spring/api/controller/ArticleController.java - MySQL content store
- Spring auth API
spring/src/main/java/com/hcsy/spring/api/controller/UserController.java
Search and realtime
- GoZero API
gozero/app/internal/handler/routes.go - Search logic
gozero/app/internal/logic/search/searchArticlesLogic.go - Elasticsearch
- Realtime chat
gozero/app/internal/hub/chatHub.go - Chat messages
gozero/app/model/chatMessages/chatMessagesModel.go
AI and knowledge
- FastAPI API
fastapi/app/app.py - RAG and agents
fastapi/app/internal/agents/extractor.py - Vector search
fastapi/app/internal/services/vectorSearch/vectorSearchService.py - pgvector store
- Graph search
fastapi/app/internal/services/graphSearch/graphSearchService.py - Neo4j graph
- LLM providers
- Warehouse analytics
fastapi/app/internal/services/analyze/analyzeService.py - ClickHouse warehouse
Logs and exports
- NestJS system API
nestjs/src/module/system/system.module.ts - MongoDB logs
db/mongodb/articlelogs.js - Article export
nestjs/src/module/system/download/download.controller.ts - Object storage
Shared platform
- APISIX gateway
- Telemetry
fastapi/app/core/telemetry/instrumentation.py
Other components
- User / client
Connections 24
- User / client → APISIX gateway: sends request
- APISIX gateway → Spring content API: routes content/auth
- APISIX gateway → GoZero API: routes search/chat
- APISIX gateway → FastAPI API: routes AI/analysis
- APISIX gateway → NestJS system API: routes system requests
- Spring content API → MySQL content store: reads/writes
- GoZero API → Search logic: dispatches search
- Search logic → Elasticsearch: searches articles
- GoZero API → Realtime chat: dispatches chat
- Realtime chat → Chat messages: persists messages
- FastAPI API → RAG and agents: dispatches AI work
- RAG and agents → Vector search: requests semantic search
- Vector search → pgvector store: searches embeddings
- RAG and agents → Graph search: requests graph enhancement
- Graph search → Neo4j graph: queries relations
- RAG and agents → LLM providers: invokes model
- FastAPI API → Warehouse analytics: dispatches analysis
- Warehouse analytics → ClickHouse warehouse: queries warehouse
- NestJS system API → MongoDB logs: reads/writes logs
- NestJS system API → Article export: dispatches downloads
- Article export → Object storage: uploads exports
- FastAPI API → Telemetry: emits telemetry
- NestJS system API → Telemetry: emits telemetry
- GoZero API → Telemetry: emits telemetry