지난 시간에 스택을 설명했다.
이번에는 이 글을 작성하는 시점까지 작업한 내용을 정리했다.
https://github.com/rzglitch/fastrunner
기본 구조는 gurkanakdeniz/example-flask-crud 에서 대충 가져왔고, 패키지를 업데이트 했다.
문법을 Flask 3.x와 SQLAlchemy 2.x 스타일로 교정하고, route, form, service, query 별로 분리했다.
메모를 모아놓는 공간을 'Board'라는 명칭을 사용하였다.
한국의 웹 환경에서 Board라고 하면 보통 HTML 테이블 형식의 게시판을 뜻하기도 한다.
폴더나 메모공간 같은 명칭도 생각해 봤지만, 뭔가를 꽂아놓는 판이라는 의미의 게시판이 익숙하기 때문에 Board로 정했다.
URL:
/board/create
Tachyons Css에서 제공하는 컴포넌트를 사용했다.
기능 구현을 완료하지 못했기 때문에 UI의 틀만 짜놓기 위해서이다.
Flask-WTF를 사용해 폼을 작성한다. Validation을 지원해서 편리하다.
간단하게 작성한 기본 로직이다. 이후에 더 추가될 확률이 높다.
DB에 기록된 모습
URL:
/board/<string:name>
Entry의 parent
가 입력받은 name
과 같은 메모의 목록를 띄운다.
지금은 구현을 위해 한국형 게시판처럼 테이블 형식이지만, 메모장답게 Google Keep과 같은 형식의 UI로 변경하기로 했다.
entry_offset
을 이용해 특정 id부터 20개까지의 목록을 출력리밋 카운트는 이후 조정할 수 있음.
확실히 CRUD는 손이 많이 가는 작업이다.
일을 효율적으로 하기 위한 툴을 만들기 위해 고된 작업이 필요하다.
하지만 나중에는 CRUD와 같은 잡일을 편하게 구현하는 라이브러리가 나오거나, 요즘 핫한 AI로 대체 가능할 거라 믿는다.
다음에 계속.