Skip to content

Board-Buddy/back-end

Repository files navigation

header

보드버디 BoardBuddy

카카오X구름 기업 연계 프로젝트 - Backend

  • 개발 기간 : 2024/6/28 ~ 2024/8/14



배포 주소

🔗 BoardBuddy



프로젝트 소개

BoardBuddy는 보드게임을 좋아하는 사람들이 주변에서 보드게임을 함께할 친구들을 쉽게 모집하고 참여할 수 있도록 돕는 커뮤니티 플랫폼입니다.



Back-end 멤버 소개

프로필 이미지 프로필 이미지 프로필 이미지 프로필 이미지
공태현 김근호 이다솜 최민지



역할 및 담당 기능

이름 공태현 김근호 이다솜 최민지
역할 백엔드 리더 팀원 팀원 팀원
기능
  • 백엔드 CI/CD 구축 및 배포
  • 참가 유저 관리, 유저 인증 관련 기능
  • 로그인, 소셜 로그인, SMS 인증 기능
  • 실시간 채팅 기능 구현
  • 프로젝트 아이디어 제공 및 기획 구체화
  • 행정 구역 데이터 수집, 전처리, 데이터베이스 구축
  • 위치 검색, 내 동네 조회/설정, 내 반경 설정 기능
  • 위치 기반 모집글 리스트 조회, 보드 게임 카페 찾기 기능
  • 댓글 및 대댓글 작성, 조회, 수정, 삭제 기능
  • 마이페이지 조회 및 프로필 조회, 수정 기능
  • 뱃지 조회 기능
  • 알림 기능
  • 유저간 리뷰 보내기 기능 및 리뷰 집계 기능
  • 모집글 작성, 조회, 수정, 삭제, 검색 기능
  • 모집글 상태 자동 변경 스케줄링 기능
  • 랭킹 시스템, 뱃지 자동 부여 스케줄링 기능



주요기능

회원가입 및 본인인증

CoolSMS를 활용하여 SMS 인증 서비스를 구현하여 회원가입 시 본인 인증을 할 수 있습니다. 빠른 성능 및 자동 만료 기능(TTL) 활용을 위한 Redis를 활용하였습니다.

로그인 및 소셜 로그인

일반 회원가입, 로그인 기능 제공과 동시에 소셜 로그인 기능을 제공하여 사용자는 별도의 회원가입과 로그인 과정을 거치지 않고도 카카오, 네이버, 구글 계정을 통해 서비스를 이용할 수 있습니다. Spring Security, OAuth2를 이용하였으며 인증된 사용자의 상태는 세션을 통해 유지하고, 세션 유효성 검사를 통해 자동 로그인 기능을 구현하였습니다.

내 동네 설정

위치 설정으로 내 동네를 설정할 수 있습니다. 가까운 곳부터 먼 곳까지 사용자가 원하는대로 반경을 선택할 수 있습니다.

랭킹 시스템

매월 1일에 사용자의 월별 서비스 이용 내역, 받은 후기에 따라 TOP3를 선정하며, 프로필에 특별한 뱃지(1-3등)를 함께 표시합니다. 또한 해당하는 월의 뱃지(1-12월)를 얻을 수 있습니다. 랭킹 순위 집계는 SpringBoot의 Scheduler를 이용하여 자동화하도록 스케줄링 됩니다.

보드게임 카페 찾기

사용자의 현재 위치에 따라 주변 보드게임 카페를 찾을 수 있습니다. 보드게임카페의 위치와 정보를 마커를 통해 제공합니다.

버디 모집 게시판

사용자는 설정한 위치를 기반으로 주변 동네의 모집글 리스트를 조회하며, 현재 모집 중인 글로 필터링 하거나 모임 시간이 빠른 글 순으로 정렬할 수 있습니다. 또한 페이지 하단에 도달할 때마다 API가 호출되어 모집글이 끊김 없이 계속 로드되는 무한 스크롤 방식의 사용자 경험을 제공합니다.

실시간 단체 채팅

모임에 참가하는 사용자들이 단체 채팅을 할 수 있도록 작성된 모집글마다 단체 채팅방이 자동으로 생성됩니다. 웹소켓을 활용하여 실시간 단체 채팅이 가능합니다.

모임 참가 및 승인, 거절

모집글을 작성한 사용자는 다른 사용자들이 모임에 대해 참가 신청을 했을 때, 승인 또는 거절을 할 수 있습니다. 또한, 참가 신청에 대한 취소가 가능합니다.

리뷰 및 평가 시스템

모집글 작성자가 모임 예상 종료시간을 입력하면 그 시간에 맞춰 각 참가자들에게 리뷰 리마인더 알림이 발송됩니다. 최고예요/좋아요/별로예요/노쇼 리뷰를 보낼 수 있습니다. 각 리뷰는 랭킹 및 버디 지수(보드버디 서비스 내에서의 매너점수)에 반영됩니다.

알림 기능

사용자는 내 동네 기반 새로운 모집글이 작성되었을 때 알림을 받을 수 있습니다. 또한 자신이 작성한 모집글에 새로운 댓글이 달리거나 자신이 작성한 댓글에 대댓글이 달리면 알림을 받으며, 참가 신청과 승인/거절에 대해 알림을 받을 수 있습니다.



아키텍쳐

Architecture


백엔드 주요 기술 스택



ERD

board_buddy_db



시연 영상

보드버디 시연영상



footer

About

BoardBuddy Application backend repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •