RestAPI(js) + Serverside template(Thymeleaf)를 혼용하여 구현한 게시판입니다.
저의 포트폴리오 입니다. 해당 링크에 방문해주세요. 감사합니다!
- 글 및 카테고리 관련 CRUD
- 카테고리 기능 구현
- 카테고리 목록 조회 기능이 있습니다.
- 카테고리 추가 -> 관리자만 가능하도록 설정하였습니다.
- 특정 카테고리가 할당된 글 목록 조회 기능을 추가하였습니다.
- OAuth2.0을 이용한 구글, 네이버, 카카오 로그인 구현
- Spring security를 이용한 글 수정 및 삭제 권한 부여(작성자만 가능하도록) 및 개인 페이지 구현
- 특히, 삭제 기능은 관리자에게는 제한 없이 삭제가 가능하도록 구성하였습니다.
- 마이페이지 구현
- 기본 개인 정보를 나타냅니다.
- 개인이 작성한 글을 목록화 하였습니다.
- AWS EC2 + Nginx 무중단배포
Utterances
를 이용한 댓글 기능 추가
- 좋아요, 싫어요, 파일업로드 기능
- 뷰 파일을 보기 좋게 변경하기
- API 문서 작성
프로젝트를 만들면서, 프로젝트 일지를 작성했습니다.
프로젝트를 만들면서 부딪혔던 문제들과 에러에 대한 해결 과정을 작성했습니다.
- 구글, 네이버, 카카오 로그인을 구현하였습니다.
- 제목, 내용에 따른 검색 기능을 구현하였습니다.
- 본인이 아닌 다른 사람이 조회를 할 때만 조회수가 올라가도록 구현하였습니다.
- 본인이 조회할 경우, 조회수가 0으로는 초기화 되지만 조회수가 올라가지 않습니다.
- 마이페이지에서 기본 정보와 본인이 작성한 글 목록을 확인할 수 있습니다.
- 카테고리 추가 버튼은 관리자일 때만 활성화 됩니다.
- 카테고리 목록에서 해당 카테고리로 설정된 글 목록을 확인할 수 있습니다.
- 관리자는 다른 사용자의 역할을 지정할 수 있으며, 한번에 일괄 변경이 가능합니다.
- 관리자로 변경 후, 관리자역할이 제대로 부여됨을 확인할 수 있었습니다.
- 또한, default 관리자인 제 구글 계정은 관리자 지정 기능에서 노출을 제한함으로써 변경될 위험을 방지하였습니다.
- 유저의 이름(닉네임)은 oauth2 로그인 이름을 기본적으로 사용합니다.
- 유저의 이름(닉네임)은 변경이 가능하도록 하였으며, 변경 사항은 oauth2 로그인 계정 정보에 영향을 미치지 않습니다.
- 작성 및 수정화면은 첫번째 사진과 같이 텍스트 형식으로 작성 및 수정됩니다.
- 글을 조회할 시, 글의 내용(텍스트)을 마크다운 형식으로 파싱하여 출력합니다.