일단 올바른 동작을 하는것만 목표로 하고, 성능은 나중에 최적화한다.
작업한 것
- 관리자 권한으로 보드 생성, 삭제, 권한 설정하기
- Google 로그인
- user_tags 기반으로 게시판 읽기, 쓰기 권한 구현
- 프로필 사진 업로드 구현
- 관리자 권한 여부에 따라 관리페이지 링크 노출 및 접근 구현
- summernote 편집기로 글 쓰기 구현
- 크게 header, content, footer 로 나누고, header 에 site logo, user info 영역을 배치
- 보드 목록, 글 목록에 공통 스타일 적용
작업할 것
보드 목록에 보이는 순서를 지정할 수 있게 한다. Drag&Drop 으로 편집할 수 있으면 좋겠다.각 보드별이 아닌 통합 글 쓰기로 변경. 글쓰기 화면에서 쓰기 권한 있는 보드 선택할 수 있게 한다글쓰기, 내 정보 수정 페이지도 공통 스타일 적용 + 모바일 화면에서도 볼만하게 스타일 적용프로필 사진 업로드할 때 resize, crop 을 한다글 목록에 글 작성 시각보다 "얼마 전" 상대시각을 먼저 보여준다. 클릭하면 절대시각/상대시각 토글.글 목록에서 텍스트가 아닌 row 전체를 선택해서 글 보기로 들어갈 수 있게 한다- 글 목록 페이징, 한 페이지 글 개수 지정 기능을 구현한다.
- 내가 쓴 글 목록 페이지를 만든다.
- 글 삭제, 수정 기능을 넣는다.
- 글 내용 페이지에서 작성시각 외에 마지막 수정 시각도 보여준다.
- 사용자에게 이메일 외에 필명을 준다. 정책은 좀 더 생각해보자.
글 내용 밑에 글 목록을 보여준다.- JKNP 키보드 바인딩을 한다. 아래 스크롤, 위 스크롤, 이전글, 다음글
- 완전 익명게시판으로(작성자 정보 X) 할지, 작성자 정보가 있는 게시판으로 할지 선택가능
- 각 보드별로, 서비스 전체 통합으로 검색 기능 구현한다.
- 로거 달기
- DB 백엔드로 postgresql 사용한다.
- 이미지 업로드에 쓰는 object storage 사용 + CDN 으로 이미지 서빙한다.
- i18n - 일단 한글, 영어 두가지 언어 지원한다.
- Light/Dark theme
CSS와 templates만 바꿔치기하면 되니까 테마같은건 굳이 구현 안해도 될것 같은데... Dark/Light theme 정도는 해두면 좋겠다. 추가!
일단 여기까지 만들고 나면 앱 상태를 publishing 으로 바꿔보기로 한다.