Skip to content

prgrms-web-devcourse/Team-Forest-RG-BE

Repository files navigation

RG(Riding is Good) - Server

📝 프로젝트 소개

RG_Logo5

RG(Riding is Good)은 자전거를 즐기는 사람들을 위해, 빠르고 편리하게 자전거 모임을 주최, 참여할 수 있는 서비스입니다.

기존 자전거 커뮤니티 서비스들의 노후화, 편의성의 부재로 인한 불편함을 해소하기 위한 서비스입니다.

또한 적절한 매칭을 위해, 평가 서비스를 통하여 노쇼 유저를 제한하는 기능 또한 제공합니다.


🔗 프로젝트 관련 링크

💡 배포 사이트


🧑‍💻 팀원 소개

Scrum Master Lead Developer Developer Developer Developer
Partey(김훈기) Bob(김민성) Didi(김현정) Pray(이민재) Kant(이한빈)
  • Partey : User 회원 가입 및 Kakao OAuth 연동
  • Bob : 백엔드 CI/CD 파이프라인 구축 및 관리, Riding 댓글 API 구현, 배포 환경 이슈 트러블 슈팅
  • Didi : Riding 생성 및 수정, 평가 기능 API
  • Pray : 라이딩 조회, 라이딩 조건별 검색, 알림 서비스
  • Kant : ERD 설계, 사용자 정보 수정 및 조회 기능 개발, 이미지 업로드 기능 개발

⚒ 기술스택

Spring

Build

Database

DevOps

Test


💌 기능 소개

카카오 회원가입/로그인
  • 카카오 간편 회원가입을 통하여 서비스에 가입하고, 로그인할 수 있음

라이딩 참여
  • 모집 중인 라이딩에 참여 신청을 할 수 있음

라이딩 주최
  • 지정된 양식에 따라 라이딩 모집 게시글을 편리하게 작성할 수 있음

라이딩 검색
  • 자전거 종류, 모집 상태, 레벨, 지역에 따른 라이딩 모집 게시글을 검색할 수 있음

알림
  • 주최했던 라이딩에 대하여, 다른 사용자가 신청-취소하면 그에 대한 알림을 받을 수 있음

마이페이지
  • 참여한, 참여했던 라이딩 정보와, 내가 주최했던 라이딩 게시글 정보들을 볼 수 있음
  • 회원 정보를 수정할 수 있음

평가
  • 참여했던 라이딩에 대하여, 참여자들을 평가할 수 있음
  • 라이딩을 주최한 라이딩 리더는, 멤버들의 노쇼 여부를 체크하여 해당 멤버에게 제약을 줄 수 있음

💬 아키텍처

배포 아키텍처

deploy drawio

  • Github Actions를 통한 CI/CD 를 진행하고, 이를 통과해야만 PR이 merge됩니다.
  • build된 Docker image를 dockerhub으로 push하고, EC2 서버의 docker에서 이를 pull받아 실행하는 방식으로 배포를 진행합니다.

서비스 아키텍처

Untitled Diagram drawio (1)

  • 서버에서 발생한 에러에 대한 메시지를 slack, file으로 전달하여 확인할 수 있습니다.
  • nGrinder, PINPOINT를 사용하여 부하 테스트를 진행, 서버의 요청 처리 성능을 모니터링합니다.

🙌 협업 방식

Git 컨벤션

  • 브랜치 전략 : Git-Flow 사용
    • main : EC2서버로 배포되는 브랜치
    • develop : 배포되기 위한 타깃 브랜치
    • feature : 기능 개발 브랜치
    • hotfix : main에서 발생한 버그를 해결하기 위한 브랜치
    • release : 추후 추가된 브랜치로, 배포 전용 브랜치

협업 툴

  • Zenhub : 개발 및 이슈 관리를 위한 협업 툴로 사용
  • Slack : 비동기적 소통 툴로 사용
  • Notion : 주요한 문서 작업(일정 관리, 엔지니어링 위키 등)을 위한 툴로 사용

헥사고날 아키텍처

  • Port & Adapter 구조를 이용하여, 도메인 로직이 infra계층에 의존하는 것을 최소화하는 걸 목표로 적용하였습니다.

📊 API 명세서

🖌 ERD

forest-rg

About

Forest 팀 벡엔드 repository입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages