STRONG-API
개요
🛠️ 표준 API (main_api)란?
표준 API(main_api)는 여러 회사에서 공통적으로 사용하는 핵심 API입니다.
예를 들어, 주문 관리, 재고 관리, 결제 처리 등의 기능을 표준 API가 제공할 수 있습니다.
하지만 모든 회사가 동일한 방식으로 운영되지는 않기 때문에, 개별적인 기능 확장이 필요할 수 있습니다.
🛠️ Strong API란?
✅ Strong API는 클라이언트 요청을 받아 컨트롤러에서 처리 후 응답을 반환하는 기본적인 API입니다.
(예: 클라이언트가 주문 정보를 요청하면, 컨트롤러가 데이터를 가공하여 응답을 반환함)
✅ 표준 API(main_api)를 변경하지 않고도 회사의 요구에 맞춰 새로운 기능을 쉽게 추가할 수 있도록 설계되었습니다
✅ 표준을 유지하면서도 맞춤형 기능을 확장 가능
🚀 유지보수가 쉬운 구조 & 빠른 커스터마이징 가능!
💡 왜 Strong API를 사용할까?
📌 표준 백엔드를 직접 수정하면 표준을 사용하는 모든 사용자에게 영향을 미치므로 각 회사마다 원하는 기능을 추가하기 어렵습니다
📌 하지만 Strong API를 사용하면 표준을 유지하면서도 원하는 기능을 쉽게 추가 가능!
ex) 안경사에 맞춘 검안/판매 기능 Strong 커스터마이징
------------------------------------------------------------------------------------------------------------------
📂 다음 내용: [🔍 STRONG-API의 구조]
STRONG-API의 구조
Dabory의 Strong-API 구조 (strong-go)
│── dabory/ # Dabory 관련 코드
│ ├── themes/opticalpos/ # OpticalPOS 테마 관련 코드
│ │ ├── erp/ # ERP 관련 코드
│ │ ├── pro/ # Pro 관련 코드
│ │ ├── qry/ # Query를 분리하여 코드
│ │ ├── strong/ # Strong API Directory
│ │ │ ├── backend/strong-go/ # Strong API 백엔드 코드
│ │ │ │ ├── conf/ # 설정 파일
│ │ │ │ ├── controllers/ # 컨트롤러 로직
│ │ │ │ ├── handlers/ # 컨트롤러와 모델 역할을 둘 다 하는 로직
│ │ │ │ ├── locals/ # 유틸리티 기능을 제공하는 패키지
│ │ │ │ ├── models/ # 데이터 처리 로직 (Table 구조체 정의)
│ │ │ │ ├── routers/ # routers 패키지는 클라이언트 요청을 받아 해당 요청을 적절한 컨트롤러로 전달하는 역할
│ │ │ │ ├── tmp/ # 임시 파일
│ │ │ │ ├── vendor/ # 외부 라이브러리 (Go Modules)
│ │ │ │ ├── .gitignore # Git에서 제외할 파일 목록
│ │ │ │ ├── docker-compose.yml # Docker 설정 파일
│ │ │ │ ├── go.mod # Go 모듈 관리 파일
│ │ │ │ ├── go.sum # Go 의존성 관리 파일
│ │ │ │ ├── main.go # 프로그램 진입점 (Entry Point)
│ │ │ │ ├── Readme.md # 프로젝트 설명 파일
│ │ │ │ ├── strong-go # 빌드된 실행 파일