How yladraoui/llm-powered-chat-application works
This repository pairs an Angular chat interface with a Spring API for chat and conversation management. The evidenced streaming path runs from the browser’s EventSource client to the chat endpoint; conversation listing, retrieval, and deletion are exposed separately. Backend service implementations, frontend state wiring, persistence behavior, and AI-provider calls are not shown in the sampled source, so those components are included where the tree identifies them, but uncertain connections are omitted.
Main entry points: ChatController.java Chat endpoint · app.routes.ts Chat route · chat-stream.service.ts SSE client · ConversationController.java Conversation endpoints
Components 22
Chat frontend
- App shell
ai-front-end/src/app/app.ts - Chat route
ai-front-end/src/app/app.routes.ts - Chat page
ai-front-end/src/app/features/chat/chat-page/chat-page.ts - Chat state
ai-front-end/src/app/features/chat/chat.store.ts - Message input
ai-front-end/src/app/features/components/message-input/message-input.ts - Message list
ai-front-end/src/app/features/components/message-list/message-list.ts - Conversation list
ai-front-end/src/app/features/components/conversation-list/conversation-list.ts - SSE client
ai-front-end/src/app/core/services/chat-stream.service.ts - Conversation client
ai-front-end/src/app/core/services/conversation.service.ts
HTTP API
- Chat endpoint
ai/src/main/java/com/yladraoui/ai/controllers/ChatController.java - Conversation endpoints
ai/src/main/java/com/yladraoui/ai/controllers/ConversationController.java
Chat services
- Chat service
ai/src/main/java/com/yladraoui/ai/services/ChatService.java - Chat implementation
ai/src/main/java/com/yladraoui/ai/services/ChatServiceDefault.java - Conversation service
ai/src/main/java/com/yladraoui/ai/services/ConversationService.java - Conversation implementation
ai/src/main/java/com/yladraoui/ai/services/ConversationServiceDefault.java - Reply recorder
ai/src/main/java/com/yladraoui/ai/services/AssistantReplyRecorder.java - Conversation repository
ai/src/main/java/com/yladraoui/ai/repositories/ConversationRepository.java - Message repository
ai/src/main/java/com/yladraoui/ai/repositories/ChatMessageRepository.java
AI integration
- AI chat port
ai/src/main/java/com/yladraoui/ai/AiChatPort.java - AI stream port
ai/src/main/java/com/yladraoui/ai/AiChatStreamPort.java - Spring AI adapter
ai/src/main/java/com/yladraoui/ai/SpringAiChatAdapter.java
Other components
- Chat user
Connections 5
- Chat user → App shell: opens
- Chat route → Chat page: loads
- SSE client → Chat endpoint: SSE request
- Chat endpoint → Chat service: calls
- Conversation endpoints → Conversation service: calls