Skip to main content

strong api를 활용한 강한 커스터마이징

Strong 커스터마이징이란?

다보리 컴포저블의 표준화된 테이블 구조는 통합 관리, 데이터의 일관성, 유지보수 효율성 등 여러 가지 면에서 큰 장점을 제공합니다. 만약 특정 애플리케이션에서 구조 변경이 발생했을 때 db-update 실행시 메인 API 서버에서 돌고 있는 모든 애플리케이션의 테이블 구조를 동기화할 수 있습니다.

하지만 모든 애플리케이션이 동일한 데이터 구조를 사용함에 따라 유연성의 제한이 생길 수 있습니다. 이러한 부분들은 Strong 커스터마이징을 통해 표준 테이블 구조에서 벗어나 다양하게 커스터마이징할 수 있습니다. 커스터마이징 테이블에는 테이블명에 특정 prefix를 붙여 기존 표준 테이블과 구분합니다.

 예를 들어, dbr_item이라는 표준으로 사용하고 있는 db table을 strong api를 사용하여 커스터마이징 하려면 zzz_dbr_item 같이 테이블명에 특정한 prefix를 붙여 변경하여 표준테이블과는 다르게 db 테이블을 사용할 수 있습니다. 이렇게 테이블을 커스터마이징하여 각 애플리케이션 별로 개성 있는 데이터 구조를 구축할 수 있습니다.

 또한 Strong 커스터마이징은 Java, Python, Golang 등 다양한 언어로 백엔드 API 서버 구축이 가능합니다. 이 API 서버를 통해 해당 어플리케이션의 개발 언어와 무관하게 다보리 컴포저블의 게이트웨이 서버를 이용할 수 있습니다. 이를 통해 각 애플리케이션은 고유한 요구사항을반영한 맞춤형 데이터 구조를 가질 수 있으면서도, 다보리 컴포저블의 통합 관리 및 일관성 유지의 장점을 활용할 수 있습니다.

Strong api를 활용한 프론트엔드 예제

참고사항

  • 예제에 앞서 dc 프론트엔드가 설치되어 있지 않다면 프론트엔드 설치하기를 통해 프론트엔드 설치를 완료해주세요.
  • strong의 backend는 main api 서버와 별도로 작동하는 api 서버입니다. 
  • main api를 호출하지 않고 strong api를 통해 별도의 api를 구성하여 frontend와 backend에서 표준을 수정하지 않고도 강한커스터마이징이 가능합니다. 
  • strong 디렉토리는 public에서 심볼릭링크를 사용하지 않습니다. 필요하다면 themes/dcdemo/erp 경로에 js, css, blade 파일 등을 넣고 사용합니다.


프론트엔드 세팅

1. env파일에 API_URL변수 추가

  • 자바 api서버 개발시 STRJAVA_API_URL
  • GO api서버 개발시 STRGPO_API_URL
  • Python api서버 개발시 STRPYTHON_API_URL

해당 API 서버의 URL을 입력해줍니다.

2. dabory/themes/dcdemo/ 경로 안에 strong 디렉토리 추가

image.png

3. strong 디렉토리에 frontend/erp 디렉토리 추가

image.png

4. app, resources 디렉토리를 각각 추가

image.png

5.