하자! NotionApps 로 노코드 앱 기획부터 공개까지 : 3)동적 필터링 하기

하자! NotionApps 로 노코드 앱 기획부터 공개까지 : 3)동적 필터링 하기

현재 '품종 리스트' 화면에서는 등록된 모든 품종을 표시하고 있습니다. 하지만 굳이 모든 품종을 표시할 필요는 없을 것 같습니다.

따라서 '품종 리스트' 화면을 약간 개조하여 현재 제철인 작물이나 품종만을 표시하는 기능으로 변경하려고 합니다. 예를 들어, 2월이라면 2월에 제철인 품종만 표시되도록 말입니다.

NotionApps의 필터링 기능

NotionApps에서는 아래와 같이 화면 편집 창에서 원하는 속성을 대상으로 필터 기능을 지정할 수 있습니다.

우리는 이미 각 품종의 제철 정보를 기록한 '제철' 항목이 있으므로, 이 항목을 기준으로 필터를 지정하면 특정 시기의 품종만 간단히 표시할 수 있습니다.

그러나 여기에는 작은 문제가 있습니다.

NotionApps 필터링 기능의 한계

NotionApps의 필터링 기능은 단순 비교만 지원합니다. 예를 들어, 현재 2월이라면 필터링 항목에 '2월'이라고 입력해야 기능이 작동합니다.

문제는, 지금은 2월이지만 3월이 되어도 이 항목이 자동으로 3월로 변경되지 않는다는 점입니다. 이 방식으로 구현하면 매달 필터 조건을 수동으로 변경해야 하는 문제가 발생합니다. 이용자가 많은 앱이라면 이런 방식도 고려할 수 있겠지만, 현재로서는 적절한 해결책이 아닙니다. 조금 더 스마트한 방법은 없을까요?

NotionApps에서 동적 필터링 구현하기

이 문제를 해결하려면 노션(Notion)의 도움이 필요합니다. 우선, 노션의 '품종 리스트' 데이터베이스에 '제철flg'(수식) 항목을 추가합니다. 그리고 수식은 아래와 같이 설정합니다.

이 수식은 now() 함수를 사용해 현재 날짜를 취득한 후, formatDate() 함수를 통해 'x월'이라는 문자열로 가공합니다.

이후, 가공된 문자열이 '제철' 항목에 포함된 데이터와 일치하면 '제철flg' 항목에 '제철'이라는 텍스트를 입력하고, 그렇지 않으면 빈 칸으로 남깁니다.

이 설정을 완료하면, 최종적으로 '품종 리스트' 데이터베이스에서 현재 제철인 품종에만 '제철flg' 항목에 '제철' 텍스트가 입력됩니다.

여기까지 작업한 후에는 남은 작업이 간단합니다.

NotionApps의 필터링 항목에서 '제철flg' 속성을 대상으로 '제철'이라는 문자열이 입력된 데이터만 표시하도록 설정하면, 동적으로 변화하는 필터링 기능을 완성할 수 있습니다.

원하는 대로 필터 기능이 작동하는 것을 확인했다면, 디자인 측면에서 조정하여 '제철 리스트'에서 필요한 정보만 표시하도록 변경합니다.

본 앱에서는 아래와 같이 표시 내용을 변경하였습니다.

주의점

노션에서 데이터가 업데이트된 경우 이를 반영하기 위해서는 NotionApps에서Reload Data 버튼을 클릭하여 데이터를 다시 불러와야 합니다.

하지만, 무료로 제공되는 'FREE' 계정에서는 데이터 자동 동기화 기능이 지원되지 않습니다. 따라서 실제 앱을 릴리즈할 경우 최소한 'PLUS' 이상의 계정으로 업그레이드할 것을 추천합니다.