[MyBoard #1] 프로젝트 개요 및 ERD 소개

0

myboard-dev-log

목록 보기
1/2
post-thumbnail

🛠 MyBoard - 기술 스택 연습용 게시판 프로젝트

안녕하세요!
이번 포스트에서는 사이드 프로젝트로 진행 중인 MyBoard의 전체적인 구조를 소개하려고 합니다.

MyBoard는 Spring Boot, JPA, Spring Security 등 핵심 백엔드 기술들을 직접 다뤄보고, 실무에 가까운 도메인 설계와 인증/인가 로직을 구현하기 위해 시작한 프로젝트입니다.

이전에 진행했던 프로젝트에서 Redis를 활용한 캐싱 구조를 처음 도입해보았는데, 조회 성능이 크게 개선되는 것을 경험하며 인상 깊었습니다.

이 경험을 계기로 Redis를 더 깊이 있게 이해하고 싶었고, 그 외에도 Kafka, Spring Cache, 테스트 자동화 등 다양한 기술들을 프로젝트에 직접 적용해보며 실전 감각을 기르고자 이 프로젝트를 시작하게 되었습니다.

단순한 CRUD를 넘어서, 도메인 중심 설계(DDD), ERD 작성, 바운디드 컨텍스트 분리 등 백엔드 전반을 실습하는 데 초점을 맞추고 있습니다.


🔍 프로젝트 개요

Repository: github.com/fbehddn/myboard

📌 개발 환경: Java 21, Spring Boot 3.4.5, MySQL 8

  • 주요 기술 스택: Spring Boot, JPA, Spring Security, JWT
  • 게시판 도메인 구성 (게시글, 댓글, 좋아요)
  • JWT 기반 로그인/로그아웃 구현
  • 도메인 모델 기반 설계 및 ERD 구성
  • 바운디드 컨텍스트를 활용한 역할 분리
  • 향후 Redis, Kafka 등 확장 가능한 구조로 설계 중

🗺 ER Diagram

게시판의 전체 테이블 구조를 아래 ERD로 정리했습니다.
중복 방지를 위한 유니크 제약 조건까지 반영되어 있습니다.

📋 테이블 설명

테이블명설명
users사용자 계정 정보를 담는 테이블 (PK: id, 유니크: email)
articles게시글(title, content), 작성자(user_id), 좋아요 수(like_count)
comments댓글(content), 작성자(user_id), 대상 게시글(article_id), 좋아요 수
article_likes게시글 좋아요 조인 테이블. (article_id, user_id) 유니크 제약 포함
comment_likes댓글 좋아요 조인 테이블. (comment_id, user_id) 유니크 제약 포함

📦 Bounded Context & Aggregates

도메인 주도 설계(DDD) 관점에서 기능을 나누고,
각 컨텍스트 안에서 책임이 명확한 애그리게이트 단위로 모델링했습니다.

컨텍스트 설명

🎯 Board Context (회색 영역)

  • 게시판의 핵심 도메인을 담당하는 컨텍스트입니다.
  • User, Article, Comment, ArticleLike, CommentLike와 같은 애그리게이트가 포함되어 있으며, 각각의 책임이 명확히 구분됩니다.

🔐 Auth Context (파란 영역)

  • 인증과 인가를 분리하여 관리하기 위한 컨텍스트입니다.
  • JWT 토큰 발급 및 검증, 비밀번호 암호화 등 보안 관련 로직이 이곳에 포함됩니다.
  • User.id를 기준으로 Board Context와 유기적으로 연결됩니다.

✍ 앞으로의 글 예고

이 프로젝트는 단순한 기능 구현에 그치지 않고,
실제 운영 가능한 백엔드 서비스 구조를 목표로 하고 있습니다.
앞으로 아래와 같은 주제들에 대해 기술 블로그를 연재할 예정입니다

  • ✅ JWT 기반 인증/인가 구현기
  • ✅ 도메인 설계 시 고민했던 점
  • ✅ 좋아요 기능에서의 복합 유니크키 적용
  • ✅ 캐싱 적용 및 성능 테스트 (with Spring Cache)
  • ✅ Redis 도입 및 캐시 전략
  • ✅ Kafka 기반 비동기 이벤트 처리 흐름

📌 기술적인 시행착오, 고민, 그리고 해결 과정을 기록하며 복기하는 것을 목표로 하고 있습니다.
꾸준히 정리해나가며 성장하는 과정을 담아보려 합니다.
읽어주셔서 감사합니다! 🙌

profile
콜 파머가 개발자라면 사회적 인지도는 어느 정도일까

0개의 댓글