diff --git a/back/root/bo/pom.xml b/back/root/bo/pom.xml
deleted file mode 100644
index 8334ba9..0000000
--- a/back/root/bo/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
- 4.0.0
-
- sample.ustraframework.java
- back
- 0.0.1-SNAPSHOT
-
- bo
- bo
-
-
-
- com.gsitm.ustra.java.starter
- ustra-starter-vue-bo
- ${ustra.version}
-
-
- sample.ustraframework.java
- cmm
- ${parent.version}
-
-
- io.springfox
- springfox-swagger2
- 2.9.2
-
-
- io.springfox
- springfox-swagger-ui
- 2.9.2
-
-
-
\ No newline at end of file
diff --git a/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardController.java b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardController.java
new file mode 100644
index 0000000..9a94ef0
--- /dev/null
+++ b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardController.java
@@ -0,0 +1,35 @@
+package sample.ustraframework.java.bo.sample.board;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api/sample/board")
+public class SampleBoardController {
+
+ @Autowired private SampleBoardService sampleBoardService;
+
+ @GetMapping("")
+ List getList(String title) {
+ return sampleBoardService.getList(title);
+ }
+
+ @GetMapping("/{boardIdx}")
+ SampleBoardModel getCodeGroups(@PathVariable Integer boardIdx) {
+ return sampleBoardService.get(boardIdx);
+ }
+
+ @PostMapping("")
+ SampleBoardModel add(@RequestBody SampleBoardModel board) {
+ return sampleBoardService.add(board);
+ }
+
+
+}
diff --git a/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardMapper.java b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardMapper.java
new file mode 100644
index 0000000..bd8dba8
--- /dev/null
+++ b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardMapper.java
@@ -0,0 +1,13 @@
+package sample.ustraframework.java.bo.sample.board;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SampleBoardMapper {
+
+ List select(String title);
+ SampleBoardModel selectDetail(Integer boardIdx);
+ int insert(SampleBoardModel model);
+}
diff --git a/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardModel.java b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardModel.java
new file mode 100644
index 0000000..4e29c97
--- /dev/null
+++ b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardModel.java
@@ -0,0 +1,23 @@
+package sample.ustraframework.java.bo.sample.board;
+
+import com.gsitm.ustra.java.management.models.base.UstraManagementBaseModel;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.SuperBuilder;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SampleBoardModel extends UstraManagementBaseModel {
+
+ private Integer boardIdx;
+ private String categoryCd;
+ private String title;
+ private String content;
+
+}
diff --git a/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardService.java b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardService.java
new file mode 100644
index 0000000..4119a2c
--- /dev/null
+++ b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardService.java
@@ -0,0 +1,35 @@
+package sample.ustraframework.java.bo.sample.board;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.gsitm.ustra.java.data.exception.UstraDataResponseCode;
+
+@Service
+@Transactional
+public class SampleBoardService {
+
+ @Autowired private SampleBoardMapper sampleBoardMapper;
+
+ public List getList(String title) {
+ return sampleBoardMapper.select(title);
+ }
+
+ public SampleBoardModel get(Integer boardIdx) {
+ return sampleBoardMapper.selectDetail(boardIdx);
+ }
+
+ public SampleBoardModel add(SampleBoardModel board) {
+ int result = sampleBoardMapper.insert(board);
+
+ if (result < 1) {
+ throw UstraDataResponseCode.CANNOT_SAVE_RECORD.exception();
+ }
+
+ return board;
+ }
+
+}
diff --git a/back/root/bo/src/main/resources/mapper/SampleBoardMapper.xml b/back/root/bo/src/main/resources/mapper/SampleBoardMapper.xml
new file mode 100644
index 0000000..5952a99
--- /dev/null
+++ b/back/root/bo/src/main/resources/mapper/SampleBoardMapper.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO USTRA_SAMPLE_BOARD (
+ BOARD_IDX,
+ TITLE,
+ CONTENT,
+ CATEGORY_CD,
+ REG_DTTM,
+ REG_USR_ID,
+ REG_USR_IP,
+ UPD_DTTM,
+ UPD_USR_ID,
+ UPD_USR_IP
+ ) SELECT ISNULL(MAX(BOARD_IDX), 0) + 1
+ ,#{title}
+ ,#{content}
+ ,#{categoryCd}
+ ,CURRENT_TIMESTAMP,
+ #{regUsrId},
+ #{regUsrIp},
+ CURRENT_TIMESTAMP,
+ #{updUsrId},
+ #{updUsrIp}
+ FROM USTRA_SAMPLE_BOARD
+
+
+
+
\ No newline at end of file
diff --git a/back/root/build.gradle b/back/root/build.gradle
index ff6134b..08d3dcc 100644
--- a/back/root/build.gradle
+++ b/back/root/build.gradle
@@ -56,7 +56,7 @@ subprojects {
ext {
set('springCloudVersion', "Hoxton.SR3")
- ustraVersion = '2.0.50.8-SNAPSHOT'
+ ustraVersion = '2.0.50.RELEASE'
}
diff --git a/back/root/cmm/pom.xml b/back/root/cmm/pom.xml
deleted file mode 100644
index 44599eb..0000000
--- a/back/root/cmm/pom.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
- 4.0.0
-
- sample.ustraframework.java
- back
- 0.0.1-SNAPSHOT
-
- cmm
- cmm
-
-
-
- com.gsitm.ustra.java.starter
- ustra-starter-restapi
- ${ustra.version}
-
-
-
\ No newline at end of file
diff --git a/back/root/fo/pom.xml b/back/root/fo/pom.xml
deleted file mode 100644
index 204a2fb..0000000
--- a/back/root/fo/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
- 4.0.0
-
- sample.ustraframework.java
- back
- 0.0.1-SNAPSHOT
-
- fo
- fo
-
-
-
-
- com.gsitm.ustra.java.starter
- ustra-starter-restapi
- ${ustra.version}
-
-
- com.gsitm.ustra.java
- ustra-mvc-view
- ${ustra.version}
-
-
- com.gsitm.ustra.java
- ustra-data-mybatis
- ${ustra.version}
-
-
- com.gsitm.ustra.java
- ustra-security-jwt
- ${ustra.version}
-
-
- com.gsitm.ustra.java
- ustra-management-core
- ${ustra.version}
-
-
- sample.ustraframework.java
- cmm
- ${parent.version}
-
-
-
\ No newline at end of file
diff --git a/back/root/pom.xml b/back/root/pom.xml
deleted file mode 100644
index fa88a49..0000000
--- a/back/root/pom.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-
- 4.0.0
- sample.ustraframework.java
- back
- 0.0.1-SNAPSHOT
- pom
-
- cmm
- fo
- bo
-
-
-
- UTF-8
- UTF-8
- 1.8
- 1.8
- 1.8
- 0.0.1-SNAPSHOT
- 2.0.50.8-SNAPSHOT
- 2.2.5.RELEASE
- 2.15.0
-
-
-
-
- nexus
- https://repo.gsitm.com/repository/m2-public/
-
-
- central
- https://repo1.maven.org/maven2/
-
-
-
-
-
- nexus
- Maven Plugin Nexus Repository
- https://repo.gsitm.com/repository/m2-public/
-
-
- central
- Maven Plugin Repository
- https://repo1.maven.org/maven2/
-
-
-
-
-
-
-
- ch.qos.logback
- logback-core
- 1.2.9
-
-
-
- ch.qos.logback
- logback-classic
- 1.2.9
-
-
-
- org.apache.logging.log4j
- log4j-to-slf4j
- ${log4j2.version}
-
-
-
- org.apache.logging.log4j
- log4j-api
- ${log4j2.version}
-
-
-
- org.springframework.boot
- spring-boot-starter
-
-
-
-
- org.springframework.boot
- spring-boot-starter-test
-
-
- org.junit.vintage
- junit-vintage-engine
-
-
- test
-
-
-
-
- org.junit.platform
- junit-platform-launcher
- test
-
-
-
-
- org.projectlombok
- lombok
- provided
-
-
-
-
- org.springframework.boot
- spring-boot-starter-aop
-
-
-
-
- org.springframework.boot
- spring-boot-configuration-processor
-
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-dependencies
- ${spring-boot.version}
- pom
- import
-
-
-
-
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
- ${spring-boot.version}
-
-
- org.apache.maven.plugins
- maven-war-plugin
- 2.6
-
- false
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/front/bo/client/components/samples/sub-component.vue b/front/bo/client/components/samples/sub-component.vue
new file mode 100644
index 0000000..10f9655
--- /dev/null
+++ b/front/bo/client/components/samples/sub-component.vue
@@ -0,0 +1,52 @@
+
+
+
하위 컴포넌트
+
타이틀 : {{ title }}
+
+
{
+ syncTitle = '타이틀 변경됨.'
+ $emit('title-changed', syncTitle)
+ }
+ "
+ >
+
+
+
+
diff --git a/front/bo/client/components/system/board/input.vue b/front/bo/client/components/system/board/input.vue
new file mode 100644
index 0000000..e69de29
diff --git a/front/bo/client/components/system/board/list.vue b/front/bo/client/components/system/board/list.vue
new file mode 100644
index 0000000..f7f3de5
--- /dev/null
+++ b/front/bo/client/components/system/board/list.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
diff --git a/front/bo/client/components/system/board/search-bar.vue b/front/bo/client/components/system/board/search-bar.vue
new file mode 100644
index 0000000..0ace528
--- /dev/null
+++ b/front/bo/client/components/system/board/search-bar.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/bo/client/event-bus/sample-event-bus.ts b/front/bo/client/event-bus/sample-event-bus.ts
new file mode 100644
index 0000000..7ce17d5
--- /dev/null
+++ b/front/bo/client/event-bus/sample-event-bus.ts
@@ -0,0 +1,23 @@
+import EventBus from '@ustra/nuxt/src/vue/event-bus'
+
+export interface SampleEventBusState {
+ /**
+ * 유형
+ */
+ type: string
+
+ /**
+ * 값
+ */
+ value: string
+}
+
+export class SampleEventBus extends EventBus {
+ name(): string {
+ return 'sampleEventBus'
+ }
+}
+
+const sampleEventBus = new SampleEventBus()
+export default sampleEventBus
+export { sampleEventBus }
diff --git a/front/bo/client/layouts/sample.vue b/front/bo/client/layouts/sample.vue
new file mode 100644
index 0000000..0a1b808
--- /dev/null
+++ b/front/bo/client/layouts/sample.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
diff --git a/front/bo/client/pages/samples/index.vue b/front/bo/client/pages/samples/index.vue
new file mode 100644
index 0000000..cfa6923
--- /dev/null
+++ b/front/bo/client/pages/samples/index.vue
@@ -0,0 +1,68 @@
+
+
+
{{ displayTitle }}
+
+
$logger().info(e)" />
+ {{ subComponentTitle }}
+
+
+
+
diff --git a/front/bo/client/pages/system/board.vue b/front/bo/client/pages/system/board.vue
new file mode 100644
index 0000000..c171aa6
--- /dev/null
+++ b/front/bo/client/pages/system/board.vue
@@ -0,0 +1,53 @@
+
+
+
+
+ {
+ $logger().info(e)
+ list.search(e)
+ }
+ "
+ />
+
+
+
+
+
+
+
+
+
+
+
+ Right
+
+
+
+
+
+
+
+
+
diff --git a/front/bo/client/pages/system/list.vue b/front/bo/client/pages/system/list.vue
new file mode 100644
index 0000000..258b228
--- /dev/null
+++ b/front/bo/client/pages/system/list.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
diff --git a/front/bo/client/services/sample-board-service.ts b/front/bo/client/services/sample-board-service.ts
new file mode 100644
index 0000000..6618b35
--- /dev/null
+++ b/front/bo/client/services/sample-board-service.ts
@@ -0,0 +1,50 @@
+import { UtraService } from '@ustra/nuxt/src/services/ustra-service'
+import { BaseModel } from '@ustra/data/src/models/base-models'
+import { ApiResponse } from '@ustra/data/src/models/api-model'
+import { PaginationRequest } from '@ustra/data/src/models/pagination-model'
+import { HttpMethod } from '@ustra/core/src/server/http/const'
+
+export interface Board extends BaseModel {
+ boardIdx: number
+ categoryCd: string
+ title: string
+ content: string
+}
+
+export class SampleBoardService extends UtraService {
+ /**
+ * 게시판 목록 조회
+ */
+ async getList(title) {
+ const url = this.$ustra.api.urlBuilder('/api/sample/board').add('title', title).build()
+
+ return (
+ await this.$ustra.api.call>({
+ url,
+ method: HttpMethod.GET,
+ })
+ ).data.body
+ }
+
+ async get(boardIdx: number) {
+ return (
+ await this.$ustra.api.call>({
+ url: '/api/sample/board/' + boardIdx,
+ method: HttpMethod.GET,
+ })
+ ).data.body
+ }
+
+ async add(board: Board) {
+ return (
+ await this.$ustra.api.call>({
+ url: '/api/sample/board',
+ method: HttpMethod.POST,
+ data: board,
+ })
+ ).data.body
+ }
+}
+
+export const sampleBoardService = new SampleBoardService()
+export default sampleBoardService
diff --git a/front/bo/tsconfig.json b/front/bo/tsconfig.json
index 1edb702..b45453e 100644
--- a/front/bo/tsconfig.json
+++ b/front/bo/tsconfig.json
@@ -28,7 +28,7 @@
"@/*": ["./client/*"],
"@ustra-sample/*": ["../node_modules/@ustra-sample/*"]
},
- "types": ["@types/node", "@types/jest", "@nuxt/types", "@ustra/nuxt", "@ustra/nuxt-mng-bo", "@ustra-sample/cmm", "./types"]
+ "types": ["@types/node", "@types/jest", "@nuxt/types", "@ustra/nuxt", "@ustra/nuxt-dx", "@ustra/nuxt-mng-bo", "@ustra-sample/cmm", "./types"]
},
"exclude": ["node_modules", ".nuxt", "dist", "src/**/*.test.ts", "**/src/static/**/*", "**/*.js"],
"typedocOptions": {
diff --git a/front/fo/client/pages/index.vue b/front/fo/client/pages/index.vue
index 4800ade..e5cab7e 100644
--- a/front/fo/client/pages/index.vue
+++ b/front/fo/client/pages/index.vue
@@ -15,6 +15,7 @@ export default class extends CustomFoComponent {
// #region variables
// #endregion
// #region hooks
+ created() {}
// #endregion
// #region methods
// #endregion
diff --git a/front/fo/client/store/modules/sample.ts b/front/fo/client/store/modules/sample.ts
index 37e0333..279eb37 100644
--- a/front/fo/client/store/modules/sample.ts
+++ b/front/fo/client/store/modules/sample.ts
@@ -11,7 +11,7 @@ export class SampleModule extends VuexModule {
list: Array = null
@Mutation
- @Storage({ propertyKey: 'sample.list', defaultValue: [], type: "local" })
+ @Storage({ propertyKey: 'sample.list', defaultValue: [], type: 'local' })
setList(list: Array) {
this.list = list
}
@@ -25,5 +25,4 @@ export class SampleModule extends VuexModule {
nuxtClientInit(ctx: CombinedContext) {
console.log('nuxtClientInit')
}
-
-}
\ No newline at end of file
+}
diff --git a/front/tsconfig.json b/front/tsconfig.json
index 3f4db76..16dd90e 100644
--- a/front/tsconfig.json
+++ b/front/tsconfig.json
@@ -29,7 +29,7 @@
"@/*": ["./fo/client/*", "./bo/client/*"],
"@ustra-sample/*": ["./node_modules/@ustra-sample/*"]
},
- "types": ["@types/node", "@types/jest", "@nuxt/types", "@ustra/nuxt", "@ustra/nuxt-mng-bo", "@ustra-sample/cmm", "@ustra/buefy", "buefy", "@ustra-sample/bo", "@ustra-sample/fo"]
+ "types": ["@types/node", "@types/jest", "@nuxt/types", "@ustra/nuxt", "@ustra/nuxt-dx", "@ustra/nuxt-mng-bo", "@ustra-sample/cmm", "@ustra/buefy", "buefy", "@ustra-sample/bo", "@ustra-sample/fo"]
},
"exclude": ["node_modules", ".nuxt", "dist", "src/**/*.test.ts", "**/src/static/**/*", "**/*.js"],
"typedocOptions": {