# Module Map Quickly find where business capabilities live in the codebase. ## Core Business Modules (`modules/`) The `modules/` directory contains the core product capabilities: | Module | Purpose | Key Features | |--------|---------|--------------| | `team/` | Team IM & Organization | Enterprise IM, org structure, roles, permissions, departments | | `service/` | Customer Service | Multi-channel support, routing, agent workbench, chat history | | `kbase/` | Knowledge Base | Internal docs, help center, FAQ, article management, categories | | `ticket/` | Ticket System | Ticket creation, assignment, SLA tracking, workflow, reporting | | `ai/` | AI Agent | LLM integration (Ollama/ZhipuAI/DeepSeek), RAG, function calling, MCP | | `voc/` | Voice of Customer | Feedback collection, surveys, reviews, sentiment analysis | | `social/` | Social IM | Social messaging, friend relationships, social features | | `call/` | Call Center | Voice call basic capabilities, call records, call management | | `webrtc/` | WebRTC Video | Video call basics, screen sharing, WebRTC integration | | `core/` | Core Infrastructure | Shared utilities, base classes, common services, infrastructure | | `forum/` | Forum | Discussion forums, topics, posts, comments | | `bi/` | Business Intelligence | Reports, analytics, dashboards, data visualization | | `training/` | Training Platform | Training content, courses, quizzes, onboarding | | `disk/` | File Storage | File upload, download, management, object storage integration | | `meet/` | Meetings | Video conferencing, online meetings, screen sharing | | `remote/` | Remote Support | Remote assistance, screen control, co-browsing | | `opinion/` | Feedback Management | Reviews, ratings, feedback collection and analysis | | `marketing/` | Marketing | Campaign management, lead generation, marketing automation | ## Plugins & Extensions (`plugins/`) Plugins are optional enhancements that can be added based on scenario needs: | Plugin | Purpose | When to Use | |--------|---------|-------------| | `freeswitch/` | FreeSWITCH Integration | Need professional call center voice capabilities | | `webrtc/` | WebRTC Integration | Need HD video customer service and screen sharing | | `openplatform/` | Open API Platform | Need to provide APIs and SDKs to third-party developers | ## Channel Integrations (`channels/`) Channels connect external platforms and systems: | Channel | Purpose | |---------|---------| | `wechat/` | WeChat Official Account and Mini Program integration | | `douyin/` | Douyin/TikTok integration | | `shop/` | E-commerce platform integrations | | `social/` | Social media platform integrations | ## Typical Requirement Mapping ### I need to work on the Agent Workbench 1. Start with `modules/service/` - Business logic 2. Check `frontend/apps/agent/` - Agent frontend 3. Look at `frontend/apps/admin/` - Admin configuration ### I need to modify the Knowledge Base 1. Start with `modules/kbase/` - Knowledge base logic 2. Check `modules/ai/` if RAG/AI search is involved 3. Look at frontend apps for knowledge management ### I need to enhance the Ticket System 1. Start with `modules/ticket/` - Ticket management 2. Check `modules/core/` for workflow engine 3. Look at SLA and reporting related code ### I need to add Call Center features 1. Start with `plugins/freeswitch/` - FreeSWITCH integration 2. Check `modules/call/` - Call business logic 3. Review deployment configuration for `call` scenario ### I need to add Video Customer Service 1. Start with `plugins/webrtc/` - WebRTC integration 2. Check `modules/webrtc/` - Video business logic 3. Review deployment configuration for `webrtc` scenario ## Cross-Cutting Concerns Some capabilities span multiple modules: - **Authentication & Authorization** - In `modules/core/` and Spring Security - **Organization & Users** - In `modules/team/` - **AI Integration** - In `modules/ai/` but used by multiple modules - **Workflow & Forms** - In `modules/core/` but used by ticket and other modules - **Notifications** - Across multiple modules - **File Storage** - In `modules/disk/` but used by many modules ## Reading Recommendations 1. **Locate by business module first**, then check frontend and deployment 2. **Don't miss cross-cutting capabilities** - Check `core/` for shared functionality 3. **For architecture reviews**, combine with [[Project Structure]] and [[Architecture Overview]] 4. **For deployment planning**, check the [[Deployment Guide]] ## Module Dependencies - All modules depend on `modules/core/` - Business modules may depend on each other (e.g., ticket may depend on team) - Plugins depend on core modules - Channel modules depend on service module - Starter aggregates all modules for runtime