코드가 아닌 스펙으로 어드민을 만든다면
셀렉트 팀에서는 어드민과 내부툴을 만드는 방법을 제시합니다.
1. 최대한 작은/간단한 코드베이스를 유지하기
- 설정 파일 1개에 어드민에 필요한 모든 것을 선언합니다.
(YAML 문법, 쿠버네티스등에서 이용, 필요시 recipe 파일/폴더 분리 가능) - Backend, Frontend 코드 없이 YAML 스펙으로 서버와 UI가 준비됩니다.
- 직접 API, UI 개발을 했을때와 비교하여도 90% 정도의 코드양 감소가 있습니다.
2. 메뉴/페이지마다 코드 분리, 독립성을 유지하기
- YAML 설정에서 menus, pages, blocks는 분리 되어있습니다.
- 언제든지 페이지 복제, 순서 바꾸기, 비활성화(주석, 감추기) 가능합니다.
- URL querystring (?params=1)등 표준적인 방법을 통해서만 연동합니다.
- YAML을 git으로 관리할시 어드민 개선의 커밋로그, 변경점이 명확하게 기록됩니다.
3. 가능한 원본 데이터를 보여주기
- 셀렉트는 SQL만 입력해도 즉시 원본을 UI로 보여줍니다.
- 보기옵션을 통해 컬럼명을 한글로 바꾸거나 정렬/검색을 하는 등 필요할때 추가 가능합니다.
- 쿼리오류, 응답지연, 네트워크문제등 개발자로그를 화면에서 확인 가능합니다. (관리자 권한 필요)
4. 점진적인 기능 제공, 반복된 개선을 목표로 하기
- 메뉴에 노출하지 않고 임시 페이지를 만들어쓰고 공유할수있습니다.
- 사용자 로그를 켜는 경우 어떤 메뉴를 주로쓰고, 안쓰는지 파악하기 쉽습니다.
- 어드민의 일부만 복제하여 사용자에게 열어주는것이 가능합니다. (클라우드의 경우 배포의 어려움이 없음)
- 임시로 기능을 막기에 용이합니다. (주석처리하고 코멘트 남기기 가능)
- 페이지 가운데 마크다운을 적을 수 있어 문서추가 없이 안내, 공지가 가능합니다.
5. 이쁘지 않더라도 빠르고 정확한 UI
- 셀렉트는 원도우즈, 맥에서 쓰기 편한 가장 기본적인 UI를 제공합니다.
- 필요한 경우 디자인과 레이아웃을 커스텀 할수있습니다.
- 추가 개발을 하지 않아도 모바일 UI로 표시됩니다.
- UI 사용성, 응답속도를 최우선적으로 체크하여 매달 자동으로 개선됩니다.
- 추가 UI 컴포넌트가 필요한경우 자체개발이 가능하며
요청시 셀렉트 컨시어지팀에서 제작하여 UI 전문가가 유지보수 합니다.
도입 방법
- 데이터베이스 통계성 쿼리를 표시하고 페이지로 공유하기
- 검색 조건으로 데이터 조회하는 페이지를 공유하기
- 기존 어드민 메뉴의 일부를 옮겨보기
- 단순조회, 반복요청하는 케이스를
셀렉트 어드민으로 메뉴 10개 미만 마이크로 어드민을 만들어보기 - 다른 팀원에게 셀렉트 어드민 편집권한 부여, 유지보수, 인수인계를 해보기
- 업무가 줄어드는게 눈에 보이면 무료플랜 한도내에서 계속 활용하기
- 고급/엔터프라이즈 기능이 필요한 경우 유료플랜으로 이용하기
- 셀렉트 문의남겨서 기술지원 받거나, 컨시어지팀에게 사내도구 제작 의뢰하기
- 어드민 고민을 내려두고 핵심사업에 집중하기
관련 글: 어드민의 생애주기: 왜 필요하고 왜 어려울까
이 글은 셀렉트 어드민의 제품 기능과 방향을 담고 있습니다.