GoWindGoWind
Home
Framework
GoWind Toolkit
  • Open Source

    • GoWind Admin (Admin Platform)
    • GoWind CMS (Content Management)
    • GoWind UBA (Behavior Analytics)
    • GoWind Shop (E-commerce)
    • GoWind Kanban (Kanban Boards)
    • GoWind Ledger (Personal Finance)
    • GoWind ShortPlay (Short Drama)
    • GoWind Ops (Operations Platform)
    • RushWind (Rust Ecosystem)
  • Open Core (Community + Enterprise)

    • GoWind OA (Office Collaboration)
    • GoWind ERP (Procure-to-Pay)
    • GoWind WMS (Warehousing)
  • Commercial

    • GoWind IM (Instant Messaging)
    • GoWind IoT (IoT Platform)
    • GoWind Edu (AI Education)
    • GoWind MES (Manufacturing Execution)
    • GoWind CDC (Data Pipeline)
    • GoWind SDP (Zero-Trust Gateway)
    • GoWind Quant (Quant Research)
    • GoWind Trade Radar (Export Sourcing)
    • GoWind Game Radar (Game Greenlight)
  • 简体中文
  • English
GitHub
Home
Framework
GoWind Toolkit
  • Open Source

    • GoWind Admin (Admin Platform)
    • GoWind CMS (Content Management)
    • GoWind UBA (Behavior Analytics)
    • GoWind Shop (E-commerce)
    • GoWind Kanban (Kanban Boards)
    • GoWind Ledger (Personal Finance)
    • GoWind ShortPlay (Short Drama)
    • GoWind Ops (Operations Platform)
    • RushWind (Rust Ecosystem)
  • Open Core (Community + Enterprise)

    • GoWind OA (Office Collaboration)
    • GoWind ERP (Procure-to-Pay)
    • GoWind WMS (Warehousing)
  • Commercial

    • GoWind IM (Instant Messaging)
    • GoWind IoT (IoT Platform)
    • GoWind Edu (AI Education)
    • GoWind MES (Manufacturing Execution)
    • GoWind CDC (Data Pipeline)
    • GoWind SDP (Zero-Trust Gateway)
    • GoWind Quant (Quant Research)
    • GoWind Trade Radar (Export Sourcing)
    • GoWind Game Radar (Game Greenlight)
  • 简体中文
  • English
GitHub
  • Introduction

    • GoWind CMS Product Introduction
    • GoWind CMS Installation Guide
  • Backend

    • CMS Backend Architecture Overview
    • CMS Backend Modules Overview
    • CMS Protobuf API Definitions
    • CMS Configuration and Deployment Guide
    • Backend Extension Mechanisms Guide
  • Frontend

    • CMS Frontend Architecture
    • CMS Frontend Modules Overview
  • Getting Started

    • Adding a Content Type, Full Stack in Practice
    • Multi-Client API Client Code Generation Tutorial
  • Core Tutorials

    • Content Multilingual Translation Tutorial
    • Content Publishing Workflow Tutorial
    • Section Editor in Practice
    • Headless API Multi-Client Integration in Practice
    • Frontend Application Development in Practice
  • Intermediate Tutorials

    • Multi-Site Management in Practice
    • Media Asset Management in Practice
    • Comment System Tutorial
    • Event Bus Architecture in Practice
    • Lua Script Extensions in Practice
  • Advanced Topics

    • Permission System in Practice
    • Dual-Client Login Security in Practice
    • Encryption and Security Toolkit Tutorial
    • Full-Text Search in Practice
    • Task Scheduling in Practice
    • Real-Time Message Push (SSE) in Practice
    • Performance Monitoring in Practice
    • Dictionary Management System Tutorial
  • Full-Stack Guides

    • Full-Stack Integration in Practice
    • Three-Service Deployment Tutorial

CMS Backend Modules Overview

The GoWind CMS backend consists of three services with 80+ Services and 60+ Repositories in total. This document organizes all modules by functional domain, covering responsibilities, directory locations, and API routes.

1. Services and Modules Overview

2. Organization and Permission Domain

Admin Service Interfaces

ServiceRouteDescription
UserService/admin/v1/usersUser management CRUD
RoleService/admin/v1/rolesRole management
TenantService/admin/v1/tenantsTenant management
OrgUnitService/admin/v1/org-unitsDepartment management
PositionService/admin/v1/positionsPosition management
PermissionService/admin/v1/permissionsPermission management
MenuService/admin/v1/menusMenu management
ApiService/admin/v1/apisAPI endpoint management

Core Service Business Logic

ServiceDirectoryDescription
UserServiceservice/user_service.goUser business logic + password verification
RoleServiceservice/role_service.goRoles + permission assignment
TenantServiceservice/tenant_service.goTenant initialization + plans
OrgUnitServiceservice/org_unit_service.goDepartment tree management
PermissionServiceservice/permission_service.goPermission verification
MenuServiceservice/menu_service.goMenu tree + permission filtering

Data Repositories

RepositoryDescription
user_repo.goUser repository
user_role_repo.goUser-role association
role_repo.goRole repository
tenant_repo.goTenant repository
membership_repo.goTenant membership
org_unit_repo.goDepartment repository
permission_repo.goPermission repository
menu_repo.goMenu repository

3. Content and Site Domain

Admin Service Interfaces

ServiceRouteDescription
PostService/admin/v1/postsPost management + publishing workflow
CategoryService/admin/v1/categoriesCategory tree management
TagService/admin/v1/tagsTag management
CommentService/admin/v1/commentsComment moderation
PageService/admin/v1/pagesPage management
SiteService/admin/v1/sitesSite management
SiteSettingService/admin/v1/site-settingsSite settings
NavigationService/admin/v1/navigationsNavigation management
MediaAssetService/admin/v1/media-assetsMedia asset management

App Service Interfaces (Lean Edition)

ServiceRouteDescription
PostService/app/v1/postsPost browsing + user posting
CategoryService/app/v1/categoriesCategory browsing
TagService/app/v1/tagsTag browsing
CommentService/app/v1/commentsComment browsing + posting
PageService/app/v1/pagesPage display
NavigationService/app/v1/navigationsNavigation retrieval

Data Repositories

RepositoryDescription
post_repo.goPost repository (with pagination, sorting, translation associations)
post_translation_repo.goPost multilingual translations
category_repo.goCategory repository (tree structure)
category_translation_repo.goCategory translations
tag_repo.goTag repository
tag_translation_repo.goTag translations
comment_repo.goComment repository (with threaded replies)
page_repo.goPage repository
page_translations_repo.goPage translations
site_repo.goSite repository
site_setting_repo.goSite settings
navigation_repo.goNavigation repository
media_asset_repo.goMedia asset repository

4. System Administration Domain

Admin Service Interfaces

ServiceRouteDescription
DictTypeService/admin/v1/dict-typesDictionary types
DictEntryService/admin/v1/dict-entriesDictionary entries
TaskService/admin/v1/tasksTask scheduling management
FileService/admin/v1/filesFile management
FileTransferService/admin/v1/files/transferFile transfer
LanguageService/admin/v1/languagesLanguage management
TranslatorService/admin/v1/translatorsTranslation management
InternalMessageService/admin/v1/internal-messagesInternal messages
CacheService/admin/v1/cachesCache management

Logs and Audit

ServiceRouteDescription
LoginLogService/admin/v1/login-logsLogin logs
OperationLogService/admin/v1/operation-logsOperation logs
ApiAuditLogService/admin/v1/api-audit-logsAPI audit logs

5. Authentication Domain

ServiceRouteDescription
AdminAuthService/admin/v1/login, /admin/v1/logoutAdmin console authentication
AppAuthService/app/v1/login, /app/v1/registerFrontend authentication
UserProfileService/app/v1/user-profileFrontend user profile

6. Core Service in Detail

6.1 Service Layer

The Core Service is the business logic core, invoked via gRPC by the Admin/App Services:

// The Core Service gRPC server registers all business Services
func NewGRPCServer(
    postSvc *service.PostService,
    userSvc *service.UserService,
    commentSvc *service.CommentService,
    // ... 39 Services
) *grpc.Server {
    srv := grpc.NewServer(...)
    contentV1.RegisterPostServiceServer(srv, postSvc)
    identityV1.RegisterUserServiceServer(srv, userSvc)
    // ...
    return srv
}

6.2 Data Access Layer

// Core Service Data Provider
var ProviderSet = wire.NewSet(
    NewData,                    // Database connection management
    // 60+ Repositories
    data.NewPostRepo,
    data.NewPostTranslationRepo,
    data.NewUserRepo,
    data.NewCommentRepo,
    data.NewSiteRepo,
    data.NewNavigationRepo,
    data.NewMediaAssetRepo,
    // ...
)

6.3 Task Scheduling

HandlerTask TypeDescription
HandleIndexPostpost:indexContent index synchronization
HandlePublishPostpost:publishScheduled publishing
HandleSendNotificationnotification:sendNotification push
HandleCleanupExpiredDatacleanup:expired_dataData cleanup
HandleSyncTranslationstranslation:syncTranslation synchronization
HandleUpdateViewCountstats:update_view_countView count updates

7. Module Dependency Diagram

8. Related Documentation

  • CMS Backend Architecture Overview
  • CMS Protobuf API Definitions
  • Configuration and Deployment Guide
  • CMS Frontend Modules Overview
Edit this page
Last Updated:: 11/3/26, 2:14 PM
Contributors: Bobo
Prev
CMS Backend Architecture Overview
Next
CMS Protobuf API Definitions