How dennisholee/springdojo works
This repository is a collection of independent Java/Spring examples, not one integrated application. The sampled code covers document retrieval and knowledge-graph ingestion, AI-assisted configuration and data modelling, tool-using agents, and a distributed customer-domain onboarding example. The graph shows those demonstrated workflows and their explicit dependencies; no README was supplied, and unsampled modules are not connected speculatively.
Main entry points: OnboardingService.java Onboarding orchestration · IngestionPipeline.java URL ingestion · springai/Pipeline.java RAG evaluation demo · datamodel/Pipeline.java Schema enrichment
Components 25
Retrieval and graphs
- URL ingestion
36_RAG/src/main/java/io/forest/rag/IngestionPipeline.java - Docling reader
36_RAG/src/main/java/io/forest/rag/DoclingDocumentReader.java - Token splitting
36_RAG/src/main/java/io/forest/rag/IngestionPipeline.java - Vector store
- Graph ingestion
38_KnowledgeGraph/src/main/java/io/forest/kg/IngestionPipeline.java - Neo4j vector store
38_KnowledgeGraph/src/main/java/io/forest/kg/IngestionPipeline.java - RAG evaluation demo
44_SpringAIDeepDive/src/main/java/io/forest/springai/Pipeline.java - Chat model
AI demonstrations
- Config generation
39_GenConfig/src/main/java/io/forest/genconfig/Pipeline.java - OpenAI / Mistral APIs
- Schema enrichment
40_DataModelling/src/main/java/io/forest/datamodel/Pipeline.java - Schema generator
- Tool-using agent
41_MultiAgent/src/main/java/io/forest/multiagent/AgentService.java - MCP tool callbacks
Customer domain
- Onboarding orchestration
47_NativeDistributedSQL/src/main/java/io/forest/cdm/onboarding/OnboardingService.java - Party service
47_NativeDistributedSQL/src/main/java/io/forest/cdm/party/PartyService.java - Relationship service
47_NativeDistributedSQL/src/main/java/io/forest/cdm/relationship/RelationshipService.java - Product holding
47_NativeDistributedSQL/src/main/java/io/forest/cdm/productholding/ProductHoldingService.java - Contact point service
47_NativeDistributedSQL/src/main/java/io/forest/cdm/onboarding/OnboardingService.java - Distributed SQL database
Other examples
- Reactive link example
01_WebReflex/src/main/java/com/acme/LinkService.java - Party service example
33_TestContext/src/main/java/io/forest/testcontext/PartyService.java - Party repository
33_TestContext/src/main/java/io/forest/testcontext/PartyRepository.java - Address API
33_TestContext/src/main/java/io/forest/testcontext/AddressAPIClient.java
Other components
- User / operator
Connections 31
- User / operator → URL ingestion: supplies URL
- URL ingestion → Docling reader: reads document
- URL ingestion → Token splitting: chunks text
- URL ingestion → Vector store: adds chunks
- User / operator → Graph ingestion: starts ingestion
- Graph ingestion → Neo4j vector store: provides store
- User / operator → RAG evaluation demo: submits query
- RAG evaluation demo → Vector store: indexes and searches
- RAG evaluation demo → Chat model: requests answer
- RAG evaluation demo → Chat model: evaluates relevance
- User / operator → Config generation: starts demo
- Config generation → OpenAI / Mistral APIs: prompts models
- User / operator → Schema enrichment: starts demo
- Schema enrichment → Schema generator: generates schema
- Schema enrichment → Chat model: enriches data
- User / operator → Tool-using agent: submits message
- Tool-using agent → MCP tool callbacks: dispatches tool calls
- Tool-using agent → Chat model: sends prompt
- User / operator → Onboarding orchestration: requests onboarding
- Onboarding orchestration → Party service: creates party
- Onboarding orchestration → Relationship service: creates relationship
- Onboarding orchestration → Contact point service: creates contact point
- Onboarding orchestration → Product holding: creates holding
- Product holding → Party service: checks party
- Party service → Distributed SQL database: reads and writes
- Relationship service → Distributed SQL database: reads and writes
- Product holding → Distributed SQL database: reads and writes
- User / operator → Reactive link example: requests endpoint
- User / operator → Party service example: requests party
- Party service example → Party repository: reads and saves
- Party service example → Address API: fetches address