📚 Buzzy Pages

같은 책을 읽는 사람들을 연결하고, 독서 과정에서의 기록을 바탕으로 자연스럽게 사람들과 책 이야기를 나눌 수 있도록 돕는 커뮤니티 buzzy pages입니다.

'독서 모임 참여자모임 참여, 독서 준비, 토론 진행, 이후 정리의 각 과정에서 서로 다른 어려움을 겪어, 독서 토론에 적극적으로 참여하고 의미 있는 대화를 나누기 어렵다.'라는 문제 의식에서 시작하여 시공간의 제약 없이 책 이야기를 나누고, 책에 대한 정보를 찾아볼 수 있는 공간으로 만들어가고 있습니다.

🔗 GitHub 저장소 바로가기

⚡ 주요 기능

카테고리기능설명
📚 독서 모임모임 생성/참여책 검색(카카오/네이버 API) 후 독서 모임 생성, 공개/비공개 설정
초대 링크방장이 30분 만료 초대 코드를 생성하여 링크로 멤버 초대
모임 관리방장 대시보드에서 멤버 강퇴, 모임 수정/삭제, 공지사항 관리
📝 메모독서 메모 작성페이지 범위 지정 후 메모 작성, 읽은 페이지 진행률 연동
공개 설정비공개 / 공개 / 스포일러(해당 페이지까지 읽은 사람만 열람) 3단계
정렬/필터최신순, 오래된순, 페이지순 정렬 및 공개 상태별 필터링
💬 토론토론 주제 생성직접 작성 또는 메모 연결하여 토론 스레드 개설
의견/댓글토론 주제에 의견 작성, 의견에 대한 답글(대댓글) 지원
추천 주제공개 메모 키워드 분석 기반 자동 토론 주제 추천
🤖 AIAI 토론 주제 제안Gemini API로 책 정보 + 메모 기반 토론 주제 3개 자동 생성
토론 요약토론 스레드의 핵심 논점·주요 의견·결론을 마크다운으로 정리
독서 회고 인사이트내 메모와 모임 토론 내용을 분석하여 개인화된 독서 인사이트 생성
📅 일정토론 일정 관리캘린더 뷰에서 독서 기간, 토론일, 커스텀 일정 시각화
👤 마이페이지프로필 관리닉네임 변경, 프로필 이미지, 비밀번호 변경, 회원 탈퇴
활동 내역참여 모임·작성 메모·참여 토론 한눈에 조회
추천 모임참여 모임의 책 정보 기반 유사 모임 추천

🎬 소개 영상

영상은 추후 추가될 예정입니다.

👥 팀 소개

조연지
PM / Project Lead
양병규
AI 관련 기능 개발
전석환
Infra
전윤주
API 데이터 페칭, 풀스택 개발
최연우
AI 기반 추천

🏗️ 시스템 구조

추후 다이어그램이 추가될 예정입니다.

🛠️ 기술 스택

구분기술
FrontendReact 18, TypeScript, Vite, Zustand, React Router v6
BackendNode.js, Express, TypeScript
ORMPrisma
DatabaseMySQL 8.0
AIGoogle Gemini API
외부 API카카오 책 검색 API, 네이버 책 검색 API
인증JWT (Access Token + Refresh Token), bcrypt
테스트Vitest, Supertest, fast-check (PBT)
배포AWS EC2, Nginx, PM2
DevOps & 협업도구GitHub, Notion, Slack

기술 뱃지

React TypeScript Vite Node.js Express Prisma MySQL Gemini AI AWS EC2 Nginx PM2

🚀 실행 방법

사전 요구사항

1. 저장소 클론

git clone https://github.com/kookmin-sw/2026-capstone-84.git
cd 2026-capstone-84

2. 서버(Backend) 설정

cd server
npm install
cp .env.example .env

.env 파일을 열어 아래 항목을 본인 환경에 맞게 수정합니다:

변수명설명
DATABASE_URLMySQL 접속 URL
JWT_SECRETJWT 토큰 서명용 시크릿 키
JWT_REFRESH_SECRETJWT 리프레시 토큰 시크릿 키
KAKAO_API_KEY카카오 책 검색 API 키
GEMINI_API_KEYGoogle Gemini AI API 키

데이터베이스 마이그레이션:

npx prisma migrate dev

서버 실행:

# 개발 모드
npm run dev

# 프로덕션 빌드 후 실행
npm run build
npm start

서버는 기본적으로 http://localhost:3000에서 실행됩니다.

3. 클라이언트(Frontend) 설정

cd client
npm install
npm run dev

클라이언트는 기본적으로 http://localhost:5173에서 실행됩니다.

테스트 실행

cd server
npm run test

📁 디렉토리 구조

2026-capstone-84/
├── client/                 # 프론트엔드 (React + Vite)
│   ├── src/
│   │   ├── api/            # API 호출 모듈
│   │   ├── components/     # 공통 컴포넌트
│   │   ├── pages/          # 페이지 컴포넌트
│   │   ├── stores/         # Zustand 상태 관리
│   │   ├── types/          # TypeScript 타입 정의
│   │   └── utils/          # 유틸리티 함수
│   └── package.json
├── server/                 # 백엔드 (Express)
│   ├── src/
│   │   ├── middleware/     # 인증, 에러 핸들링 미들웨어
│   │   ├── routes/         # API 라우트
│   │   ├── services/       # 비즈니스 로직
│   │   └── validators/     # 입력 검증 (Zod)
│   ├── prisma/
│   │   └── schema.prisma   # DB 스키마
│   └── package.json
├── nginx/                  # Nginx 설정
├── docs/                   # 프로젝트 문서
└── README.md