Skip to content
Lee Doyeon (David) edited this page Mar 27, 2026 · 2 revisions

🖥️ PinHouse BackEnd

본 문서는 우리 서비스의 백엔드 구조와 설계 방향을 한눈에 보여주는 메인 페이지임.
상세한 도메인 설계 및 구현 내용은 각 영역별 문서에서 확인할 수 있도록 구성함.


0. 현재 백엔드 아키텍처

현재 서비스의 백엔드 구조와 설계 기준을 정리한 영역임.

핵심 요약

  • 멀티 모듈 기반 도메인 구조 설계
  • Spring Boot 기반 REST API 서버 구성
  • 도메인 중심 설계 + 계층 분리 (Domain / Application / Infrastructure)
  • Redis, MongoDB 등 다양한 데이터 저장소를 목적에 맞게 활용


2. 도메인 설계 및 구조

서비스의 핵심 비즈니스 로직과 도메인 분리를 중심으로 설계한 영역임.

  • 도메인별 모듈 분리 (User, Housing, Review 등)
  • Aggregate 기준 설계 및 책임 분리
  • DTO 전략 및 계층 간 데이터 전달 구조 정리
  • 도메인 간 의존성 최소화 및 확장성 고려

📄 [도메인 설계 문서](https://github.com/PinHouse/PinHouse_BE/wiki/Domain/)



3. API 설계 및 성능 최적화

API 구조 설계와 성능 개선 전략을 정리한 영역임.

  • REST API 설계 기준 및 응답 구조 표준화
  • N+1 문제 해결 (Fetch Join / Batch 조회 / Projection DTO)
  • 인덱스 설계 및 쿼리 최적화 전략
  • API 응답 속도 개선 과정 및 결과 정리

📄 [API & 성능 최적화 문서](https://github.com/PinHouse/PinHouse_BE/wiki/API-Performance/)



4. 데이터 관리 전략

데이터 저장소 선택과 활용 전략을 정리한 영역임.

  • RDBMS 기반 트랜잭션 처리 구조
  • Redis 기반 캐싱 전략 (Look-Aside)
  • MongoDB 기반 비정형 데이터 관리 (알림, 댓글 등)
  • 데이터 일관성 및 캐시 무효화 전략

📄 [데이터 관리 문서](https://github.com/PinHouse/PinHouse_BE/wiki/Data/)



5. 인증 및 보안

사용자 인증 및 보안 설계를 정리한 영역임.

  • JWT 기반 인증 구조
  • OAuth2 소셜 로그인 연동
  • Spring Security 설정 및 권한 관리
  • API 접근 제어 및 보안 정책

📄 [인증 및 보안 문서](https://github.com/PinHouse/PinHouse_BE/wiki/Security/)



6. 비동기 처리 및 이벤트

시스템 간 결합도를 낮추기 위한 비동기 처리 구조를 정리한 영역임.

  • Redis Pub/Sub 기반 메시징 구조
  • 이벤트 기반 처리 흐름 설계
  • 채팅 및 실시간 기능 처리 방식
  • 메시지 유실 문제 해결 과정

📄 [비동기 처리 문서](https://github.com/PinHouse/PinHouse_BE/wiki/Async/)



7. 테스트 및 품질 관리

안정적인 서비스 운영을 위한 테스트 전략을 정리한 영역임.

  • 단위 테스트 / 통합 테스트 전략
  • 테스트 데이터 관리 및 환경 분리
  • 부하 테스트 기반 성능 검증
  • 코드 품질 및 리팩토링 기준

📄 [테스트 문서](https://github.com/PinHouse/PinHouse_BE/wiki/Test/)



8. 트러블슈팅

백엔드 개발 과정에서 발생한 문제와 해결 과정을 기록한 영역임.

  • 성능 문제 및 DB 병목 해결
  • 캐시 전략 적용 과정에서의 이슈
  • 비동기 처리 및 메시지 유실 문제 해결
  • 실제 장애 대응 및 개선 사례

📄 [트러블슈팅 문서](https://github.com/PinHouse/PinHouse_BE/wiki/Troubleshooting/)



읽어주셔서 감사합니다.