Skip to content

attribute와 reaction 스키마 #65

@leegwae

Description

@leegwae

1. attribute value pair

  • pair의 생성 방식 : 사용자로부터 속성 이름, 속성 타입을 받아 생성된다. 이후 사용자가 value field에 값을 입력한다.
  • 즉 속성 이름/속성 타입/속성 값을 저장해야한다.
  • 한편 작성자, 생성일자와 같은 pair의 경우 속성 이름/속성 타입/속성 값은 사용자가 수정할 수 없고 미리 만들어져 제공된다.

1.1 현재 프론트엔드 구현

  • 사용자는 메뉴를 통해 속성 이름을 입력하고 속성 타입을 선택한다.
  • 작성자, 생성일자는 속성 타입으로 제공되며 이를 선택하면 사용자가 입력한 속성 이름은 무시된다.
  • 선택 결과로 만들어진 pair는 만들어진 순서대로 위에서부터 아래로 쌓인다.

1.2 논의해야할 점

(1) pair의 정렬은 어떻게 이루어져야하는가

  • 사용자가 만든 순서대로 (이후 드래그 앤 드롭으로 사용자가 pair 정렬 가능)
  • 프론트엔드쪽에서 정렬 기준을 세워 해당 정렬 기준에 따라 정렬

(1-1) 테스크 생성사 작성자, 생성일자와 같은 pair는 기본적으로 생성해주기로 했는데, 이 pair들은 위 두가지 선택지에 따라 어떻게 정렬할 것인가.

  • 첫번째 선택지로 정렬할 때 : 사용자가 드래그 앤 드롭으로 정렬할 수 있게 한다 / 정렬할 수 없게 한다
  • 두번째 선택지로 정렬할 때 : 해당 기준에 따라 정렬하면 됨

(2) pair의 생성 제한하기

  • 작성자, 생성일자와 같은 pair는 단 한 개만 생성할 수 있게 해야 한다.
  • 모든 pair는 사용자가 제한 없이 만들 수 있어야한다.

(3) 위 논의에 따라 스키마 결정하기

2. reaction

  • 이모지는 사용자가 선택된 순서대로 나열된다.
  • 단, 이전에 해당 이모지를 선택한 사용자가 있는 경우 해당 이모지 옆의 숫자가 늘어난다.
  • slack의 reaction 디스플레이 방식과 동일함

2.1 논의해야할 점

(1) 어떻게 나열할 것인가

  • 스키마 value에 time field를 추가해서 최초로 눌렸던 시점 저장하고 정렬하기
{ [emoji : string] : {users: array<string>, time: string } }
  • 배열이나 맵으로 순서 보장하기

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions