Skip to content

Repository files navigation

📝 우기고 서비스 기획서

1. 기술 블로그 수집/검색 플랫폼

서비스 기획서

프로젝트명: 우기고(WGG) - 기술 블로그 큐레이션 플랫폼


1. 프로젝트 개요

목적

개발자들이 여러 기업/개인 기술 블로그를 한 곳에서 탐색하고 검색할 수 있는 플랫폼을 개발한다.
분산된 기술 콘텐츠를 자동 수집하고, 검색/트렌드/최신글/태그 기반 탐색 기능을 제공하여 기술 학습과 정보 탐색의 효율을 높인다.

또한 단순 게시판 구조를 넘어, MSA 기반 백엔드와 Cloudflare Pages, GCP VM, k3s, Kafka, Redis, Elasticsearch를 활용한 실서비스형 배포 구조를 구축한다.

기대 효과

  • 여러 기술 블로그 글을 한 곳에서 탐색 가능
  • Elasticsearch 기반 빠른 검색 제공
  • Kafka 기반 비동기 이벤트 처리
  • Redis 기반 조회수/트렌드 캐싱
  • Cloudflare + GCP VM 기반 실제 도메인 배포 경험
  • MSA 구조에서 서비스별 독립 배포 및 확장 가능

2. 주요 기능

스크린샷 2026-05-18 오후 10 23 24 스크린샷 2026-05-18 오후 10 23 32 스크린샷 2026-05-18 오후 10 23 47

📰 기술 블로그 글 조회

  • 최신 글 목록 조회
  • 트렌드 글 목록 조회
  • 테크 글 목록 조회
  • 글 상세 조회
  • 외부 원문 링크 이동
  • 태그 기반 글 탐색

🔍 검색 서비스

  • Elasticsearch 기반 게시글 검색
  • 제목/본문/태그 기반 검색
  • 검색 결과 페이징 처리
  • 검색 전용 요약 응답 제공

🧑‍💻 사용자 서비스

  • 회원가입
  • 로그인
  • JWT 기반 인증
  • 마이페이지
  • 프로필 이미지 업로드
  • 사용자별 작성 글 조회

✍️ 게시글 서비스

  • 게시글 작성
  • 게시글 수정
  • 게시글 삭제
  • 공개/비공개 처리
  • 태그 등록
  • 좋아요
  • 댓글
  • 북마크

👥 피드 서비스

  • 팔로우 기반 피드 조회
  • 로그인 사용자 전용 피드 제공
  • 사용자별 게시글 조회

🕷️ 크롤러 서비스

  • 외부 기술 블로그 글 수집
  • 원문 URL 저장
  • 크롤링 이력 관리
  • 수집된 글을 검색 인덱스에 반영

⚡ 트렌드/캐시 서비스

  • Redis 기반 조회수 증가분 저장
  • 트렌드 점수 캐싱
  • 목록 API 응답 최적화
  • 카드 목록에서는 본문 전체가 아닌 요약 데이터 반환

3. 사용자 유형

사용자 유형 권한 설명
비회원 기술 블로그 글 목록/검색/상세 조회
회원 글 작성, 댓글, 좋아요, 북마크, 피드 조회
관리자 크롤링 대상 관리 및 서비스 운영

4. 기대성과

  • Spring Boot 기반 MSA 설계 및 구현 경험
  • Gateway, 인증, gRPC, Kafka, Redis, Elasticsearch 연동 경험
  • Cloudflare Pages와 GCP VM을 활용한 실제 서비스 배포 경험
  • k3s 기반 경량 Kubernetes 운영 경험
  • 검색/캐시/비동기 이벤트 기반 성능 최적화 경험
  • 프론트엔드와 백엔드의 실서비스 도메인 연결 경험

📑 1. 요구사항 명세서

기능 요구사항

게시글

  • 사용자는 최신 글을 조회할 수 있다.
  • 사용자는 트렌드 글을 조회할 수 있다.
  • 사용자는 테크 글을 조회할 수 있다.
  • 사용자는 게시글 상세를 조회할 수 있다.
  • 로그인한 사용자는 게시글을 작성할 수 있다.
  • 작성자는 본인의 게시글을 수정/삭제할 수 있다.

검색

  • 사용자는 키워드로 게시글을 검색할 수 있다.
  • 검색 결과는 페이징 처리되어야 한다.
  • 검색 결과는 카드 UI에 필요한 요약 정보만 제공한다.

인증

  • 사용자는 이메일/비밀번호 기반으로 회원가입할 수 있다.
  • 사용자는 로그인 후 JWT 토큰을 발급받는다.
  • 인증이 필요한 API는 Gateway와 Spring Security를 통해 보호한다.

피드

  • 로그인한 사용자는 팔로우 기반 피드를 볼 수 있다.
  • 비회원은 피드 탭을 볼 수 없다.

크롤링

  • 시스템은 외부 기술 블로그 글을 수집할 수 있다.
  • 수집된 글은 DB에 저장된다.
  • 수집된 글은 Elasticsearch 검색 인덱스에 반영된다.

📋 2. 테스트 계획서

API 테스트

구분 테스트 항목 기대 결과
게시글 최신 글 조회 200 OK 및 게시글 목록 반환
게시글 트렌드 글 조회 200 OK 및 트렌드 게시글 반환
게시글 테크 글 조회 200 OK 및 크롤링 게시글 반환
검색 키워드 검색 200 OK 및 검색 결과 반환
인증 로그인 JWT 토큰 발급
인증 인증 없는 보호 API 접근 401 반환
Kafka 이벤트 발행/소비 검색 인덱스 반영
Redis 조회수 캐싱 조회수 증가분 저장
Elasticsearch 검색 인덱스 조회 검색 결과 정상 반환

운영 확인 명령어

About

techBlog로 미니 블로그 고도화하기

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages