📖 Wooyeon

wooyeon

프로젝튞 êž°ê°„ : 2024.02.10 ~ 2024.05.04

🔗 Wooyeon 서비슀 배포 링크

📢 프로젝튞 소개

Discover Books, Build Community

  • 알띌딘 API륌 통핎 닀양한 책을 쉜게 구맀할 수 있는 서비슀입니닀.
  • 신간, 베슀튞셀러, 쀑고도서, 추천도서륌 통핎 닀양한 책을 쉜게 ì°Ÿì•„ 구맀할 수 있습니닀.
  • 컀뮀니티 Ʞ능을 통핎 독후감을 작성하고 독서 몚임에 찞여할 수 있윌며 '삜니닀'와 '팝니닀' 서비슀륌 통핎 책을 거래할 수 있습니닀.


🙆 팀원 소개

FE 박진양 FE 김원쀀 FE 배성완
Jinyang-Park kimwonjuun baesee0806


🖥 Ʞ술 슀택

Web App Reference Architecture (1)

구분 사용 Ʞ술
ì–žì–Ž TypeScript
프레임워 Next.js 14
서버 Express
슀타음링 CSS Modules
DB Supabase
서버 상태 ꎀ늬 React Query
큎띌읎얞튞 상태 ꎀ늬 Recoil
팚킀지 ꎀ늬 맀니저 Yarn
배포 Vercel
CI Github Actions
Editor Toast UI Editor


🗂 디렉토늬 구조

📊src
 ┣ 📂apis
 ┣ 📂app
 ┃ ┣ 📂(auth)
 ┃ ┃ ┣ 📂login
 ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┗ 📂signup
 ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┣ 📂@auth
 ┃ ┃ ┣ 📂(.)login
 ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┣ 📂(.)signup
 ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┗ 📜default.tsx
 ┃ ┣ 📂auth
 ┃ ┃ ┗ 📂callback
 ┃ ┃ ┃ ┗ 📜route.ts
 ┃ ┣ 📂best
 ┃ ┃ ┗ 📜page.tsx
 ┃ ┣ 📂cart
 ┃ ┃ ┗ 📜page.tsx
 ┃ ┣ 📂category
 ┃ ┃ ┗ 📜page.tsx
 ┃ ┣ 📂community
 ┃ ┃ ┣ 📂(detail)
 ┃ ┃ ┃ ┗ 📂detail
 ┃ ┃ ┃ ┃ ┣ 📂bookBuying
 ┃ ┃ ┃ ┃ ┃ ┗ 📂[doc_id]
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┣ 📂bookMeeting
 ┃ ┃ ┃ ┃ ┃ ┗ 📂[doc_id]
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┣ 📂bookReport
 ┃ ┃ ┃ ┃ ┃ ┗ 📂[doc_id]
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┗ 📂bookSelling
 ┃ ┃ ┃ ┃ ┃ ┗ 📂[doc_id]
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┣ 📂(post)
 ┃ ┃ ┃ ┗ 📂post
 ┃ ┃ ┃ ┃ ┗ 📂new
 ┃ ┃ ┃ ┃ ┃ ┣ 📂bookBuying
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┃ ┣ 📂bookMeeting
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┃ ┣ 📂bookReport
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┃ ┣ 📂bookSelling
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜layout.tsx
 ┃ ┃ ┣ 📂(update)
 ┃ ┃ ┃ ┗ 📂update
 ┃ ┃ ┃ ┃ ┣ 📂bookBuying
 ┃ ┃ ┃ ┃ ┃ ┗ 📂[docId]
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┣ 📂bookMeeting
 ┃ ┃ ┃ ┃ ┃ ┗ 📂[docId]
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┣ 📂bookReport
 ┃ ┃ ┃ ┃ ┃ ┗ 📂[docId]
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┣ 📂bookSelling
 ┃ ┃ ┃ ┃ ┃ ┗ 📂[docId]
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┗ 📜layout.tsx
 ┃ ┃ ┗ 📂(view)
 ┃ ┃ ┃ ┣ 📂bookBuying
 ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📂bookMeeting
 ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📂bookReport
 ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📂bookSelling
 ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📜error.tsx
 ┃ ┃ ┃ ┗ 📜layout.tsx
 ┃ ┣ 📂detail
 ┃ ┃ ┗ 📂[doc.id]
 ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┣ 📂mypage
 ┃ ┃ ┗ 📜page.tsx
 ┃ ┣ 📂new
 ┃ ┃ ┗ 📜page.tsx
 ┃ ┣ 📂orderComplete
 ┃ ┃ ┗ 📂[orderId]
 ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┣ 📂search
 ┃ ┃ ┗ 📜page.tsx
 ┃ ┣ 📂theme
 ┃ ┃ ┣ 📂[slug]
 ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┗ 📜page.tsx
 ┃ ┣ 📂used
 ┃ ┃ ┗ 📜page.tsx
 ┃ ┣ 📜layout.tsx
 ┃ ┣ 📜not-found.tsx
 ┃ ┗ 📜page.tsx
 ┣ 📂assets
 ┣ 📂components
 ┣ 📂hooks
 ┣ 📂recoil
 ┣ 📂styles
 ┣ 📂types
 ┗ 📂utils
  • apis: api 혞출 ꎀ렚 파음
  • app/files: 각 페읎지 ꎀ렚 파음
  • assets: 로고 및 읎믞지 ꎀ렚 파음
  • components: 각 페읎지 낎부 컎포넌튞
  • hooks: 컀슀텀 훅 파음
  • recoil: 늬윔음 ꎀ렚 파음
  • styles: 슀타음 ꎀ렚 파음
  • types: 타입 ꎀ렚 파음
  • utils: Ʞ타 특정 작업 수행하는 핚수 파음


⭐ 죌요 Ʞ능

📌 신간, 베슀튞셀러, 쀑고도서, 테마추천 및 최귌 볞 상품

  • 알띌딘 API륌 활용핎 닀양한 책을 찟아볎고 구맀할 수 있윌며, 최귌 볞 상품을 닀시 확읞할 수도 있습니닀.

📌 검색 및 읞Ʞ 검색얎 서비슀

  • 개읞 검색 Ʞ록곌 읞Ʞ 검색얎륌 Ʞ반윌로 도서륌 검색하고 추천받을 수 있습니닀.

📌 컀뮀니티

  • 유저듀곌 독후감을 공유하고 독서 몚임을 만듀 수 있습니닀.
  • 삜니닀, 팝니닀 탭을 통핎 원하는 쀑고 도서륌 구맀하거나 판맀할 수 있습니닀.
  • 최신 읞Ʞ Ꞁ을 확읞하고, 좋아요륌 누륎거나 댓Ꞁ을 ë‚šêžž 수 있습니닀.


💡 구현 Ʞ능

로귞읞/회원가입

  • 유횚성 검사 및 우펞번혞 서비슀(Daum postcode api)륌 읎용한 회원가입

헀더

  • 칎테고늬, 베슀튞셀러, 테마추천, 쀑고도서, 컀뮀니티로의 링크 및 페읎지 읎동 시 핎당 메뉎 활성화

검색찜 및 검색 페읎지

  • 도서, 저자 출판사 킀워드로 음치하는 도서 조회
  • 최귌 검색얎, 읞Ʞ 검색얎 조회

최귌 볞 상품

  • 유저가 최귌 접귌한 도서 최대 9개까지 사읎드바에서 조회 가능
  • 볞 상품 삭제 및 페읎지넀읎션 Ʞ능

메읞

  • 추천 도서 슬띌읎더
  • 대표 신간도서, 테마추천, 베슀튞셀러, 쀑고도서 조회

분알, 읞Ʞ, 신간, 쀑고도서

  • 칎테고늬 별 도서 조회 및 페읎지넀읎션 Ʞ능

테마추천

  • 12명의 아티슀튞의 추천도서 조회

도서 디테음

  • 저자, 출판사, 가격, 전자책 여부 등 책의 상섞 정볎륌 확읞
  • 아윔디얞 UI로 책 섀명, 정볎고시, 쀑고 도서 정볎륌 확읞
  • 사용자듀의 한쀄평을 확읞
  • 장바구니에 추가하거나 바로 죌묞

장바구니

  • 도서 디테음페읎지에서 추가한 도서 조회, 수정, 삭제, 죌묞 Ʞ능

컀뮀니티

  • 독후감, 몚임, 삜니닀, 팝니닀 탭을 통한 유저 게시Ꞁ 조회 및 생성
  • ë‚Žê°€ ì“Ž Ꞁ 수정 및 삭제
  • 죌간 읞ꞰꞀ 조회
  • 검색을 통한 게시Ꞁ ì°Ÿêž° Ʞ능

게시Ꞁ 작성

  • 독후감, 몚임, 삜니닀, 팝니닀 탭 별 게시Ꞁ 작성 Ʞ능
  • Toast UI 에디터륌 통한 마크닀욎 작성 Ʞ능 및 읎믞지 추가 Ʞ능
  • 독후감
  • 검색을 통한 도서 선택
  • 몚임
  • 칎칎였 채팅방 URL 및 몚집 마감음, 몚집 읞원 선택 Ʞ능
  • 삜니닀/팝니닀
  • 판맀 가격 및 판맀/나눔 선택 Ʞ능

게시Ꞁ 상섞

  • 좋아요, 공유, 조회수
  • 댓Ꞁ 조회 및 생성
  • ë‚Žê°€ ì“Ž 댓Ꞁ 수정 및 삭제

마읎페읎지

  • ë‚Žê°€ ì“Ž Ꞁ(독후감/몚임/삜니닀/팝니닀/찜한 목록)을 필터링하여 조회
  • 닉넀임, 죌소, 전화번혞, 비밀번혞륌 수정
  • 죌묞 낎역을 확읞 및 췚소