관리 메뉴

Bull

[Dev] LLM을 활용 단어장 앱 개발일지 010: Tag(Bloc,DB)와 Tag Page 구성 본문

일상/개발일지

[Dev] LLM을 활용 단어장 앱 개발일지 010: Tag(Bloc,DB)와 Tag Page 구성

Bull_ 2024. 9. 26. 20:03

바쁘다는 핑계로 일을 수월하게 진행하지 못한 것 같다. 핑계는 아니지만 바쁘긴 바쁘니까 이번 일지는 핵심만 기록해두는 걸로 하겠다.

페이지 위젯 소개


태그 페이지

기본 태그 페이지는 ListTile을 이용하여 간단하게 나타냈다.

내부 태그 표시

그룹을 펼치면 "그룹 이름 편집", "태그 편집" 태그들이 나열된다. 여기서 그룹 이름 편집과 태그편집 버튼의 디자인이 너무 구조가 별로인 거 같아서 수정을 하고 싶었지만 마땅히 생각나는 디자인이 없었다.

그룹 이름 변경 다이얼로그

이름을 변경할 수 있다.

태그 변경 다이얼로그

Chip을 사용해서 태그를 선택,비선택하여 그룹에 원하는 태그를 넣을 수 있다.

편집 옵션

앱바 우측 상단의 메뉴이다. 이부분은 단어 삭제시 나타나는 다이얼로그와 디자인이 일치한다. 그 디자인이 마음에 들지 않아서 나중에 수정한다고 했는데 일단 통일시켜서 사용중이다.

그룹 삭제 전환

편집 메뉴에서 삭제버튼을 누르면 삭제 모드로 바뀌어 그룹들을 지울 수 있다.

그룹 수동 정렬

그룹 정렬은 오름차순, 내림차순이 일반적이지만 내가 사용한다면 사용자가 직접 수동으로 정렬할 수 있으면 편할 거 같아서 이 방식을 채택했다.

 

 

정리하고 나니 생각보다 많이 한 거 같다는 생각이 든다..

Bloc Data & DB


끝이 아니다.. 이 모든 위젯 구성을 Bloc과 DB에서 관리할 수 있게 했다. 일반 단어장인 word bloc 보다 정말 힘들었던 것 같다. 왜냐하면 tag 하나만의 데이터가 아니라 그룹이랑 같이 관리가 되어서 복잡했던 것 같다. tag group이라는 bloc으로 나누기에는 처음에 생각이 잘 나지 않아서 고려하지 않았던 것 같다. 설계하지 않고 하면서 개선하고 결정한 것이다.

 

자잘한 곳까지는 확인할 수 없었지만 대부분 CRUD가 제대로 작동된다. Bloc에서 처리하는 모든 프로시저는 DB와 함께 통신한다. 

 

마무리


일단 일상이 바빠지다보니 급급하게 한 경우가 없지 않아 있다. 이 글도 되게 빠르게 써내고 있다. 시간은 한정적이고 포기할 순 없으니 진행해보는 것이다. 몇 가지 특이사항과 앞으로 진행과정을 적어야할 것 같다.

 

  • 스트릭 페이지는 당장 필요한 것이 아니라서 일단 빼놨다. 출시가 우선이 되어야 할 거 같다.
  • 마찬가지로 채팅창에 드로워로 채팅을 관리하는 기능을 뺐다.
  • 기능 먼저 구현하고자 해서 코드가 개판이다. 리팩터링을 진행해야 한다.
  • User 기능을 만들어야 한다. 로그인 기능은 구글 연동으로 해놨으니 User 모델을 만들고 서버와 통신할 수 있도록 하자.
  • 인앱 결제 코인 시스템을 만들어야 한다.
  • 설정 창에 어떤 것이 들어가는 지 정해야 한다.
  • 이 포스팅에서 한 번에 했어야 했는데 태그 페이지에서 태그 눌렀을 때 해당 태그만 나오는 기능을 아직 구현 못했다.
  • DB는 처음 결정했던 것과 같이 내가 파베로 가지 않는다. express로 내가 쿼리 다 만들 예정이다.