풀 캘린더 api을 활용하여 만든 두통일기 웹 사이트 입니다.
- 로그인 및 회원가입 관련(JWT아니어도 무관. OAUTH2.0혹은 자체 로그인 개발도 가능)
- 게시물 작성 및 목록/읽기
- 댓글 작성
유저는 소셜로그인 구현 가능성에 따라 boolean필드를 추가해두었습니다.
또한 일반 일정 게시판에는 일반 일정만 보이고, 두통일기 게시판은 두통일기만 보이게 해두었습니다.
유저가 원한다면 두통일기 게시판은 로그인한 모두에게 공개 그렇지 않다면 본인만 볼 수 있도록 할 계획입니다.
- 회원정보 수정이나 가입시 캡챠 추가
- 게시물의 수정 및 삭제는 글 작성자나 관리자만 가능하도록
- 게시물 조회의 경우 가입한 회원은 모두 가능하도록 짭니다.
- 로그인하지 않은 유저가 도메인을 통해 직접 게시판이나 게시물에 접근할 수도 있습니다.
- 사진첨부가 가능한 게시판의 경우 다중 첨부가 가능하도록 할 것이냐 하나의 파일만 가능하도록 할 것이냐에 따라 달라질 수 있습니다.
- 게시물의 경우 일부로 이상한 실험을 하는 사람들을 방지하기 위하여 10만자 정도 까지만 작성 가능하도록 합니다.
- 비밀 캘린더의 경우 유저가 늘어났을 때에 도메인이 겹치는 것을 방지하기 위해 ReqeustParam으로 자신의 닉네임도 함께 넘겨줍니다.
- 전날의 통증과 다음날의 통증 강도 및 기록사항은 다를 수 있습니다.따라서 무조건적으로 이어지는 일정 등록은 위험합니다.
- 주기가 중요한 두통의 경우도 있습니다. 따라서 지난 기록을 모아볼 수 있는 기능이 있따면 좋을 것 같습니다.
- 동시에 게시물을 작성시 requestParam의 값으로 사용자 식별값을 넣어 구분된 테이블에 잘 요소가 저장되도록 하였습니다.
- requestParam에 한글이 들어있는 닉네임을 넘길경우 예외가 발생하므로, Long타입의 uuid값을 추가하였습니다.
- 끝나는 시간이 없는 경우 null이 아닌 종일로 표기하여 혹시나 모르는 에러 수정완료
- 끝나는 시간이 시작시간보다 이른 시간으로 작성된 경우 db에 잘못된 시간입력임을 명시합니다.
- 닉네임을 한글이기 때문에 한번 이상의 인코딩을 거치지 않게 하기위하여, jpa의 테이블 id를 사용하였습니다.
- 이미지가 아닌 확장자의 입력을 시도한 경우-> Util클래스를 통해 이미지만 거르도록 코드 작성
- 로그인 및 회원가입(HttpSession및 스프링시큐리티 사용 자체 로그인 구현)
- 비밀 캘린더 기능 구현 완료
- 나의 지난 캘린더 일정 모두 모아보기 구현 완료
- 공지 게시판 기능 구현 완료(삭제/수정/이 기능들은 관리자만 가능하도록)
- 이미지가 없는 공지의 경우에도 잘 등록. 이때엔 게시물 클릭시 이미지 안보여야
- 게시물의 기본 정렬은 날짜순으로 정렬
- 비공개 게시물은 자신의 계정이나 관리자 계정으로 로그인 했을 때만 보이는지 확인 완료
- 자신이 쓴 댓글에는 좋아요 불가 및 댓글 작성 수정 구현 완료