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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions