diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/Application.java b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/Application.java
index 77beb84..baaeade 100644
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/Application.java
+++ b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/Application.java
@@ -16,14 +16,12 @@
 import reactor.core.publisher.Mono;
 
 import com.supwisdom.infras.security.reactive.basic.EnableInfrasBasicWebFluxApi;
-import com.supwisdom.institute.backend.common.core.transmit.annotation.EnableSimpleUserTransmit;
 import com.supwisdom.institute.backend.common.framework.exception.EnableCustomExceptionHandler;
 
 import static org.springframework.web.cors.CorsConfiguration.ALL;
 
 @SpringBootApplication
 
-@EnableSimpleUserTransmit
 @EnableCustomExceptionHandler
 
 //@EnableInfrasOnlineDoc
diff --git a/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/annotation/EnableSimpleUserTransmit.java b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/annotation/EnableSimpleUserTransmit.java
index 5a094e9..4538483 100644
--- a/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/annotation/EnableSimpleUserTransmit.java
+++ b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/annotation/EnableSimpleUserTransmit.java
@@ -8,12 +8,13 @@
 
 import org.springframework.context.annotation.Import;
 
-import com.supwisdom.institute.backend.common.core.transmit.config.SimpleUserTransmitAutoConfiguration;
+import com.supwisdom.institute.backend.common.core.transmit.config.SimpleUserTransmitFeignConfiguration;
+import com.supwisdom.institute.backend.common.core.transmit.config.SimpleUserTransmitFilterConfiguration;
 
 @Documented
 @Target({ElementType.TYPE})
 @Retention(RetentionPolicy.RUNTIME)
-@Import({SimpleUserTransmitAutoConfiguration.class})
+@Import({SimpleUserTransmitFilterConfiguration.class, SimpleUserTransmitFeignConfiguration.class})
 public @interface EnableSimpleUserTransmit {
 
 }
diff --git a/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/config/SimpleUserTransmitAutoConfiguration.java b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/config/SimpleUserTransmitFeignConfiguration.java
similarity index 64%
rename from common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/config/SimpleUserTransmitAutoConfiguration.java
rename to common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/config/SimpleUserTransmitFeignConfiguration.java
index a3e11ce..509f48a 100644
--- a/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/config/SimpleUserTransmitAutoConfiguration.java
+++ b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/config/SimpleUserTransmitFeignConfiguration.java
@@ -1,27 +1,23 @@
 package com.supwisdom.institute.backend.common.core.transmit.config;
 
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
 import com.supwisdom.institute.backend.common.core.transmit.feign.SimpleUserTransmitRequestInterceptor;
-import com.supwisdom.institute.backend.common.core.transmit.filter.SimpleUserTransmitFilter;
 
+import feign.Feign;
 import lombok.extern.slf4j.Slf4j;
 
-@Slf4j
 @Configuration
-public class SimpleUserTransmitAutoConfiguration {
+@ConditionalOnClass(Feign.class)
+@Slf4j
+public class SimpleUserTransmitFeignConfiguration {
   
   @Bean
   public SimpleUserTransmitRequestInterceptor simpleUserTransmitRequestInterceptor() {
     log.debug("-----SimpleUserTransmitRequestInterceptor");
     return new SimpleUserTransmitRequestInterceptor();
   }
-
-  @Bean
-  public SimpleUserTransmitFilter simpleUserTransmitFilter() {
-    log.debug("-----SimpleUserTransmitFilter");
-    return new SimpleUserTransmitFilter();
-  }
   
 }
diff --git a/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/config/SimpleUserTransmitFilterConfiguration.java b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/config/SimpleUserTransmitFilterConfiguration.java
new file mode 100644
index 0000000..10a96a6
--- /dev/null
+++ b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/config/SimpleUserTransmitFilterConfiguration.java
@@ -0,0 +1,20 @@
+package com.supwisdom.institute.backend.common.core.transmit.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import com.supwisdom.institute.backend.common.core.transmit.filter.SimpleUserTransmitFilter;
+
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+@Configuration
+public class SimpleUserTransmitFilterConfiguration {
+  
+  @Bean
+  public SimpleUserTransmitFilter simpleUserTransmitFilter() {
+    log.debug("-----SimpleUserTransmitFilter");
+    return new SimpleUserTransmitFilter();
+  }
+  
+}
diff --git a/doc/sw-backend.graffle b/doc/sw-backend.graffle
index cd824fc..bb3e35e 100644
--- a/doc/sw-backend.graffle
+++ b/doc/sw-backend.graffle
Binary files differ
diff --git a/doc/sw-backend.v1/1.arch.png b/doc/sw-backend.v1/1.arch.png
new file mode 100644
index 0000000..66589e3
--- /dev/null
+++ b/doc/sw-backend.v1/1.arch.png
Binary files differ
diff --git a/doc/sw-backend.v1/2.microservice_structure.png b/doc/sw-backend.v1/2.microservice_structure.png
new file mode 100644
index 0000000..bd4eb10
--- /dev/null
+++ b/doc/sw-backend.v1/2.microservice_structure.png
Binary files differ
diff --git a/doc/sw-backend.v1/3.bff_structure.png b/doc/sw-backend.v1/3.bff_structure.png
new file mode 100644
index 0000000..be58aa9
--- /dev/null
+++ b/doc/sw-backend.v1/3.bff_structure.png
Binary files differ
diff --git a/doc/sw-backend/1.arch.png b/doc/sw-backend/1.arch.png
index 66589e3..0462f9d 100644
--- a/doc/sw-backend/1.arch.png
+++ b/doc/sw-backend/1.arch.png
Binary files differ
diff --git a/doc/sw-backend/3.bff_structure.png b/doc/sw-backend/3.bff_structure.png
index be58aa9..c607572 100644
--- a/doc/sw-backend/3.bff_structure.png
+++ b/doc/sw-backend/3.bff_structure.png
Binary files differ
diff --git a/doc/sw-backend/4.aggr_structure.png b/doc/sw-backend/4.aggr_structure.png
new file mode 100644
index 0000000..854c203
--- /dev/null
+++ b/doc/sw-backend/4.aggr_structure.png
Binary files differ
