우선순위와 유지보수의 사각지대에 놓인 사내 admin을, 누구나 표준화된 형태로 만들 수 있도록 editor·viewer·server로 구성한 Admin Studio의 전체 아키텍처를 소개한다. 개별 admin을 하나하나 개발하는 대신 규칙이 내장된 editor를 제공해 일관성과 유지보수성을 확보한다는 목표에서 출발한다.
핵심 포인트- Studio DSL은 project·block·property·handler 관계를 JSON으로 정의해 변경 시 재빌드가 필요 없고, block renderer가 DSL을 해석해 API data를 가져오고 string handler를 실제 동작에 연결
- 편집 UI를 rendering code에 섞으면 editor·viewer 일치와 성능이 깨지므로 preview와 selection·drag interaction을 별도 layer로 분리, Ref·MutationObserver·position cache로 위치를 추적하고 event bus로 module 결합을 느슨하게 함
- 제각각인 backend API 대신 OpenAPI Specification을 유일한 계약으로 삼아 fetch·parse·validation·DSL 변환 pipeline을 구축, data manager가 DSL을 single source of truth로 두고 IndexedDB autosave로 새로고침·crash 복구
- server 저장은 Git에서 착안해 immutable definition과 version snapshot을 분리하고 SHA-256 content-addressed storage로 중복을 제거, CloudFront alternate domain과 단일 viewer로 admin마다 infra를 새로 만들지 않고 다중 domain 제공
왜 읽나schema 기반 사내 툴/노코드 에디터를 설계하는 프론트엔드 개발자에게, DSL 렌더링·interaction 분리·OAS 연동·version 저장·배포를 관통하는 아키텍처 레퍼런스.