카페 형식 게시판 구현 - 파일럿 프로젝트
프론트엔드
카페 형식 게시판 구현 - 파일럿 프로젝트
두줄요약
Spring Boot와 Vue.js로 카페 형식 게시판을 구현한 파일럿 프로젝트를 정리했습니다. Vuex, Spring Security, OAuth2로 상태 관리와 인증·권한 제어 구조를 다뤘습니다.
핵심 내용
- Spring Boot와 Vue.js로 카페 형식 게시판을 구현한 파일럿 프로젝트
- Vue Router, Vuex, Spring Security, OAuth2를 활용한 프론트엔드·백엔드 구조 정리
- 댓글 작성, 게시글 관리, 키워드 기반 목록 조회 등 기본 게시판 기능과 확장 기능 포함
구조와 흐름
- 프론트엔드에서 중첩 라우트로 게시판·게시글·작성·수정 화면 분리
- Vuex로 컴포넌트 간 상태와 API 응답을 중앙 집중식 관리
- 백엔드에서 인증, 권한 제어, DTO-Entity 변환, Repository 접근 순으로 요청 처리
선택 이유
- 컴포넌트 간 직접 통신과 Event Bus 방식의 중복, 유지보수 어려움 해소 목적의 Vuex 도입
- URL 단 접근 제어와 별도로 메서드 단 권한 검증을 위한 Custom PermissionEvaluator 구현
- DTO와 Entity를 분리해 도메인 순수성과 표현 로직 분리 유지
주의할 점
- 프론트엔드 버튼 비노출만으로는 권한 보호가 충분하지 않아 백엔드 검증 필요
- Event Bus는 복잡한 이벤트 처리와 전역 이벤트 충돌에 취약
- 큰 라이브러리의 무분별한 도입은 작은 애플리케이션에 과도한 복잡도 유발 가능
적용해볼 점
- Vuex나 유사 상태 관리 도구로 컴포넌트 간 데이터 흐름 단순화
- Spring Security의 URL 단·메서드 단 권한 제어를 함께 적용
- DTO와 Entity 분리로 조회·표현 요구사항을 분리해 관리
