개발자들이 여러 기업/개인 기술 블로그를 한 곳에서 탐색하고 검색할 수 있는 플랫폼을 개발한다.
분산된 기술 콘텐츠를 자동 수집하고, 검색/트렌드/최신글/태그 기반 탐색 기능을 제공하여 기술 학습과 정보 탐색의 효율을 높인다.
또한 단순 게시판 구조를 넘어, MSA 기반 백엔드와 Cloudflare Pages, GCP VM, k3s, Kafka, Redis, Elasticsearch를 활용한 실서비스형 배포 구조를 구축한다.
- 여러 기술 블로그 글을 한 곳에서 탐색 가능
- Elasticsearch 기반 빠른 검색 제공
- Kafka 기반 비동기 이벤트 처리
- Redis 기반 조회수/트렌드 캐싱
- Cloudflare + GCP VM 기반 실제 도메인 배포 경험
- MSA 구조에서 서비스별 독립 배포 및 확장 가능
- 최신 글 목록 조회
- 트렌드 글 목록 조회
- 테크 글 목록 조회
- 글 상세 조회
- 외부 원문 링크 이동
- 태그 기반 글 탐색
- Elasticsearch 기반 게시글 검색
- 제목/본문/태그 기반 검색
- 검색 결과 페이징 처리
- 검색 전용 요약 응답 제공
- 회원가입
- 로그인
- JWT 기반 인증
- 마이페이지
- 프로필 이미지 업로드
- 사용자별 작성 글 조회
- 게시글 작성
- 게시글 수정
- 게시글 삭제
- 공개/비공개 처리
- 태그 등록
- 좋아요
- 댓글
- 북마크
- 팔로우 기반 피드 조회
- 로그인 사용자 전용 피드 제공
- 사용자별 게시글 조회
- 외부 기술 블로그 글 수집
- 원문 URL 저장
- 크롤링 이력 관리
- 수집된 글을 검색 인덱스에 반영
- Redis 기반 조회수 증가분 저장
- 트렌드 점수 캐싱
- 목록 API 응답 최적화
- 카드 목록에서는 본문 전체가 아닌 요약 데이터 반환
| 사용자 유형 | 권한 설명 |
|---|---|
| 비회원 | 기술 블로그 글 목록/검색/상세 조회 |
| 회원 | 글 작성, 댓글, 좋아요, 북마크, 피드 조회 |
| 관리자 | 크롤링 대상 관리 및 서비스 운영 |
- Spring Boot 기반 MSA 설계 및 구현 경험
- Gateway, 인증, gRPC, Kafka, Redis, Elasticsearch 연동 경험
- Cloudflare Pages와 GCP VM을 활용한 실제 서비스 배포 경험
- k3s 기반 경량 Kubernetes 운영 경험
- 검색/캐시/비동기 이벤트 기반 성능 최적화 경험
- 프론트엔드와 백엔드의 실서비스 도메인 연결 경험
📑 1. 요구사항 명세서
- 사용자는 최신 글을 조회할 수 있다.
- 사용자는 트렌드 글을 조회할 수 있다.
- 사용자는 테크 글을 조회할 수 있다.
- 사용자는 게시글 상세를 조회할 수 있다.
- 로그인한 사용자는 게시글을 작성할 수 있다.
- 작성자는 본인의 게시글을 수정/삭제할 수 있다.
- 사용자는 키워드로 게시글을 검색할 수 있다.
- 검색 결과는 페이징 처리되어야 한다.
- 검색 결과는 카드 UI에 필요한 요약 정보만 제공한다.
- 사용자는 이메일/비밀번호 기반으로 회원가입할 수 있다.
- 사용자는 로그인 후 JWT 토큰을 발급받는다.
- 인증이 필요한 API는 Gateway와 Spring Security를 통해 보호한다.
- 로그인한 사용자는 팔로우 기반 피드를 볼 수 있다.
- 비회원은 피드 탭을 볼 수 없다.
- 시스템은 외부 기술 블로그 글을 수집할 수 있다.
- 수집된 글은 DB에 저장된다.
- 수집된 글은 Elasticsearch 검색 인덱스에 반영된다.