selectfromuser

2.2.7 • Public • Published

Select Admin

Fast build tool for admin/backoffice by YAML declarative way.

운영 툴을 채우는 새로운 방법

어드민 페이지를 만들고 배포하고 관리하기에는 어렵고 SQL 쿼리와 API를 매번 만들면 시간이 계속 늘어납니다. 다른 방법은 없을까요?

최소 비용으로 빠른 기간내 팀 협업을 성공. 고객조회, 매출분석, 지표통계, 컨텐츠관리, 이력조회를 가입 후 3일 안에 해결하고 있습니다.

더 이상 DB, API 클라이언트에 의존하지 않아도 돼요.

설치형(로컬 실행 가능한) 오픈소스 업데이트를 준비중입니다! 조금만 기다려주세요.

Features

  • [x] mysql backend support. (production-ready)
  • [x] RESTful HTTP API backend support. (production-ready)
  • [x] pgsql backend support. (production-ready)
  • [x] mssql backend support. (production-ready)
  • [x] redis backend support.
  • [x] Google Spreadsheet backend support.
  • [x] MongoDB backend support. (production-ready)
  • [ ] DynamoDB backend support.
  • [ ] Firebase backend support.
  • [x] JavaScript request/response transformation support.
  • [x] User management.
  • [x] Permission and access control with roles.
  • [x] Customizable menus, groups and tabs.
  • [x] Mulitple pages with URL to share.
  • [x] Table UI
  • [x] Local sort, pagination
  • [x] Server-side pagination
  • [x] Query block type
  • [x] Modal(popup) block type
  • [x] Markdown block type
  • [x] Block-wide parameters
  • [x] Page-wide parameters
  • [x] Share and open saved search.
  • [ ] Publishing API Endpoint
  • [ ] SSH tunneling
  • [x] VPC Peering
  • [ ] OIDC support

Usage

  • npm install -g selectfromuser
  • selectfromuser

Others

selectfromuser login selectfromuser whoami selectfromuser logout selectfromuser link selectfromuser unlink selectfromuser init selectfromuser dev

Documentation

ko-KR

Sample Recipe

index.yml

title: 셀렉트어드민

layout:
  style:
    backgroundColor: "#19234B !important"

menus:
- group: 회원
  name: 고객 관리
  path: users
  placement: menu-only
  redirect: users/active
  icon: mdi-account
  
  menus:
  - name: 결제 관리
    path: payments
    placement: menu-only
    icon: mdi-timeline-check

- group: 회원
  name: 최근가입자 목록
  path: users/active
  placement: tab-only

- group: 회원
  name: 휴면회원 목록
  path: users/dormant
  placement: tab-only

- group: 회원
  name: 마케팅 수신동의
  path: users/promotion
  placement: tab-only

- group: 기타메뉴
  name: 공식 문서 
  path: https://docs.selectfromuser.com
  target: _blank
  icon: mdi-book-open-variant
  iconEnd: 링크

- group: 기타메뉴
  name: 클라우드 이용
  path: https://app.selectfromuser.com
  target: _blank
  icon: mdi-tab
  iconEnd: 링크

# resources:
# - name: mysql.dev
#   mode: local
#   type: mysql
#   host: aaaa.ap-northeast-2.rds.amazonaws.com
#   port: 3306
#   username: user_aaaa
#   password: aaaa
#   database: aaaa
#   timezone: '+00:00'
#   extra:
#     charset: utf8mb4_general_ci

# pages:
# - path: healthcheck/db
#   blocks:
#   - type: query
#     resource: mysql.dev
#     sql: SELECT NOW()

users/index.yml

pages:
- path: users/active
  blocks: 
  - type: markdown
    content: >
      ## 7일 가입자 조회
    
- path: users/dormant
  blocks:
  - type: markdown
    content: >
      ## 휴면회원 조회
    
- path: users/promotion
  blocks:
  - type: markdown
    content: >
      ## 동의/미동의 조회

users/payment.yml

pages:
- path: payments
  title: 결제 및 환불
  blocks:
  - type: markdown
    content: |
      > 최근 7일 대상자 목록
  
  # - type: query
  #   name: Data from Query
  #   resource: mysql.dev
  #   sql: |
  #     SELECT * 
  #     FROM chat 
  #     ORDER BY id DESC
  #     LIMIT 3
  #   tableOptions:
  #     cell: true

  - type: http
    axios:
      method: GET
      url: https://api.selectfromuser.com/sample-api/users
    rowsPath: rows
    columns:
      name:
        label: Name
      age:
        label: Engagement Point

    showDownload: csv

    viewModal:
      useColumn: id
      # mode: side
      blocks:
      - type: http
        axios:
          method: GET
          url: https://api.selectfromuser.com/sample-api/users/{{user_id}}
        rowsPath: rows
        
        params:
        - key: user_id
          valueFromRow: id

        display: col-2
        title: "ID: {{id}}"
        showSubmitButton: false
        

        tabOptions:
          autoload: 1
          tabs:
          - name: 최근거래내역
            blocks: 
            - type: markdown
              content: 거래내역 내용
          - name: 프로모션참여
            blocks: 
            - type: markdown
              content: 프로모션 내용

Tests

npm test -- --grep="auth"
npm test -- --grep="block"
npm test -- --grep="config"

Support

해당 프로젝트는 2020년부터 2023년까지 Free/Pro/Team/Enterprise Plan 제공을 위해 Selectfromuser Inc. 개발팀 포함 커뮤니티가 계속 기능추가, 유지보수, 보안패치, 문서화를 하고 있습니다.

직접 설치하여 비용없이 무료이용 가능합니다. 그외에 정책은 라이센스를 따릅니다. 기능제안, 기술지원은 해당 페이지로 문의바랍니다. https://www.selectfromuser.com

Readme

Keywords

none

Package Sidebar

Install

npm i selectfromuser

Weekly Downloads

8

Version

2.2.7

License

Elastic License 2.0 (SEE IN LICENSE)

Unpacked Size

87.8 kB

Total Files

4

Last publish

Collaborators

  • eces