GithubHelp home page GithubHelp logo

eces / select Goto Github PK

View Code? Open in Web Editor NEW
24.0 1.0 3.0 1.38 MB

๐Ÿš€ Fast build tool for admin/backoffice by YAML declarative way.

Home Page: https://dev.selectfromuser.com

License: Other

JavaScript 99.90% Dockerfile 0.10%
mysql yaml internal-tools admin ui-components low-code api-client mongodb mssql pgsql

select's Introduction

Select Admin

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

์šด์˜ ํˆด์„ ์ฑ„์šฐ๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•

์–ด๋“œ๋ฏผ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฐฐํฌํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ์—๋Š” ์–ด๋ ต๊ณ  SQL ์ฟผ๋ฆฌ์™€ API๋ฅผ ๋งค๋ฒˆ ๋งŒ๋“ค๋ฉด ์‹œ๊ฐ„์ด ๊ณ„์† ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ์—†์„๊นŒ์š”?

์ตœ์†Œ ๋น„์šฉ์œผ๋กœ ๋น ๋ฅธ ๊ธฐ๊ฐ„๋‚ด ํŒ€ ํ˜‘์—…์„ ์„ฑ๊ณต. ๊ณ ๊ฐ์กฐํšŒ, ๋งค์ถœ๋ถ„์„, ์ง€ํ‘œํ†ต๊ณ„, ์ปจํ…์ธ ๊ด€๋ฆฌ, ์ด๋ ฅ์กฐํšŒ๋ฅผ ๊ฐ€์ž… ํ›„ 3์ผ ์•ˆ์— ํ•ด๊ฒฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋” ์ด์ƒ DB, API ํด๋ผ์ด์–ธํŠธ์— ์˜์กดํ•˜์ง€ ์•Š์•„๋„ ๋ผ์š”.

์„ค์น˜ํ˜•(๋กœ์ปฌ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ) ์˜คํ”ˆ์†Œ์Šค ์—…๋ฐ์ดํŠธ๋ฅผ ์ค€๋น„์ค‘์ž…๋‹ˆ๋‹ค! ์กฐ๊ธˆ๋งŒ ๊ธฐ๋‹ค๋ ค์ฃผ์„ธ์š”.

Features

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

Usage

CLI

  • npm install -g selectfromuser
  • selectfromuser

Others

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

Docker container image

https://hub.docker.com/r/selectfromuser/admin https://github.com/eces/select/blob/main/docker-compose.yml

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

select's People

Contributors

eces avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

select's Issues

New improvements and Fix bugs.

Added

  • tabOptions
  • showButtonWithResult
  • http block methodType
  • display: card
  • display: col-1
  • multiline field item
  • chartOptions
  • columnOptions.format = html (sanitized)
  • columnOptions.format = json
  • viewModal.width

Fixed

  • Move excel download button
  • Show text in button when value is empty for trigger modal open anyway.
  • Pass correct option to astify to make compatible with pgsql.
  • Fix datalist values bind

Google OAuth support

Using gsuite accounts identified by email instead of yml config[users].

  • user by email config
  • set up credentials, callback url
  • hd: domain whitelist

์˜คํ”ˆ์†Œ์Šค ๋กœ๋“œ๋งต

2022๋…„ 9์›” ์ดํ›„๋กœ ์ผ์‹œ์ค‘๋‹จ๋œ maintenance๋ฅผ 2023๋…„ 10์›”๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉํ–ฅ์„ฑ

  • Block API ํ•ด๋‹นํ•˜๋Š” ์„œ๋ฒ„๋งŒ ํ”„๋กœ์ ํŠธ๋กœ ๋ถ„๋ฆฌ (YAML to HTTP API)
  • UI specification ๋…ผ์˜ํ•˜๋Š” ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์ค€๋น„
  • ๋กœ์ปฌ ํ™˜๊ฒฝ CLI๋กœ ๋ชจ๋“  ๊ธฐ๋Šฅ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„ (23๋…„ 10์›” ๊ธฐ์ค€: ๊ตฌ๊ธ€์‹œํŠธ, ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฏธ์ง€์›)

์ฐธ๊ณ ํ•  ์ผ€์ด์Šค

  • ํ•ด์™ธ ์‚ฌ์šฉ์ž๋„ Seoul ๋ฆฌ์ „์„ ํ†ตํ•ด ์ ‘์†ํ•˜๋ฏ€๋กœ ๋ถˆํŽธํ•จ์ด ์žˆ๋Š” ์ƒํ™ฉ. ์ƒˆ๋กœ์šด ๋ฆฌ์ „ ์˜คํ”ˆ ํ•„์š”. (23๋…„ 10์›” ๊ธฐ์ค€: ์„œ์šธ๋ฆฌ์ „์— 3๊ฐœ zone์ด ์žˆ์Œ)
  • ๋ฌธ์„œ๊ฐ€ ์˜์–ด๊ฐ€ ์•„๋‹ˆ๋ผ์„œ ๋ถˆํŽธํ•จ

Direction

  • Separating the server dedicated to the Block API into its own project (YAML to HTTP API).
  • Should set up a repository for discussing UI specifications.
  • Improve a local environment CLI so that all functions are ready to use (as of October 2023, Google Sheets and monitoring are not supported).

Reference cases

  • Some users from abroad are facing inconvenience when accessing through the Seoul region. So, we might need to consider opening up a new region (as of October 2023, Seoul region has 3 zones).
  • Some users find the documentation inconvenient due to it not written in English.

Notice: temporarily discontinue to update in a short term.

Sadly,

Since v2 merge has been delayed for a long time,

There is no upcoming minor and major updates of v1 (current stable).

Why delayed?

The team who maintains this project is busy with working on serverless Select Admin; aka cloud hosted version.

How long until next?

With uncertainty, we are expecting that v2 merge will be continued by 2022.

Sorry for not giving announcement earlier. We'll be back soon.

Good news is still you can try cloud version (https://app.selectfromuser.com).

Thank you.

p.s.
Over 100+ users are using cloud version now. Generous free plan available.

LTS

  • End-of-life v1: 2021.11~2022.09
  • LTS v2: 2023.10~
    • Initial Release: 2023-10-09
    • Active LTS Start: -
    • Maintenance Start: 2024-03-05
    • End-of-life: 2025-10-31

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.