Skip to content

FindMeWithDeepDive/DangDangCrew

Repository files navigation







1. Project Overview (프로젝트 개요)

  • 프로젝트 이름: DangDangCrew
  • 프로젝트 설명: 카카오 지도 API를 활용한 반려동물 동반자 찾기 플랫폼


2. Team Members (팀원 및 팀 소개)

김지민
김지민
강형준
강형준
이지수
이지수
임영광
임영광
정태민
정태민
BE BE BE BE BE

3. Key Features (주요 기능)

  • 회원가입:

    • 회원가입 시 MySQL에 유저정보가 등록됩니다.
  • 로그인:

    • 사용자의 인증 정보를 검증하여 로그인합니다.
    • 인증이 완료되면 Access Token과 Refresh Token이 발급됩니다.
    • Access Token은 클라이언트가 서버에 요청할 때 인증에 사용됩니다.
    • Refresh Token은 Redis에 저장되며, Access Token이 만료될 경우 새로운 Access Token을 발급받는 데 사용됩니다.
  • 로그아웃:

    • 사용자 인증을 해제하고, 세션을 종료합니다.
    • Redis에서 저장된 RefreshToken이 삭제되어 더 이상 액세스 토큰을 갱신할 수 없습니다.
  • 모임 생성:

    • 카카오 맵을 통해 사용자가 지정한 위치에 해당하는 애견 동반 장소를 보여줍니다.
    • 애견 동반 장소를 클릭하여 장소 상세 정보를 확인하고 모임 생성 버튼을 통해 모임을 생성합니다.
    • 모임 생성시에 최대 인원수, 모임 설명, 모임 날짜 등의 내용을 기입하여 모임을 생성합니다.
  • 모임 참가:

    • 사용자가 지도 혹은 즐겨찾기 알림을 통해 생성된 모임을 확인합니다.
    • 모임 소개글에 적힌 장소, 시간등을 확인 합니다.
    • 참가를 원할 경우 참가 신청을 누릅니다.
  • 실시간 채팅 기능:

    • 실시간으로 여러 사람들과 채팅방에서 모임 관련 대화를 할 수 있습니다.
  • 참여자 평가:

    • 모임이 종료되면 해댱 모임 참여차들 평가를 선택적으로 할 수 있습니다.
  • 즐겨찾기:

    • 모임을 희망하는 장소를 즐겨찾기 등록합니다.
    • 즐겨찾기 등록한 장소에 모임이 생성되면 알림을 전송합니다.
  • 핫플 추천 알림:

    • 장소에 생성된 모임의 확정된 참가자들 수 기반으로 일정 수치 이상의 참가자수가 발생하면 접속 유저들에게 핫플 장소 알림(SSE)를 전송합니다.


4. Tasks & Responsibilities (작업 및 역할 분담)

작업 유형 담당자 내용
공통 작업 - 테스트 코드
- ERD 설계
- 요구사항 정리 및 사용자 시나리오 작성
개별 작업
김지민
유저 도메인
- 회원가입/로그인
- 보안, 인가, 인증 적용 (JWT)

정태민
유저 평가 도메인
- 평점
- 평가 내용

강형준
장소 도메인
알림 도메인
- 실시간 인기 정보 알림 시스템 적용 (SSE)
- 배포 및 CI/CD 구축
- 모니터링 서버 구축

이지수
모임 도메인
- 모임 상세페이지
- 개인 모임 조회
- 프로토타입 제작

임영광
채팅 도메인
- 장소 별 채팅 기능 적용 (WebSocket)
- 프로토타입 제작

5. Technology Stack (기술 스택)

Back-end

Infra

Tools


6. Project Structure (프로젝트 구조)

src
└── main
    ├── java
    │   └── findme.dangdangcrew
    │       ├── chat
    │       ├── evaluation
    │       ├── global
    │       │   ├── config
    │       │   ├── dto
    │       │   ├── entity
    │       │   ├── exception
    │       │   ├── interceptor
    │       │   ├── publisher
    │       │   ├── service
    │       ├── meeting
    │       ├── notification
    │       ├── place
    │       ├── sse
    │       ├── user
    │       │   ├── controller
    │       │   ├── dto
    │       │   ├── entity
    │       │   ├── repository
    │       │   ├── service
    │       └── DangdangcrewApplication
    ├── resources
    │   └── application.yml


7. ProtoType (프로토타입)

로그인 장소선택 장소선택 - 모임목록 알림목록
모임소개 모임관리 채팅방 평가창

8. Development Workflow (개발 워크플로우)

브랜치 전략 (Branch Strategy)

  • dev Branch

    • 배포 가능한 상태의 코드를 유지합니다.
    • 모든 배포는 이 브랜치에서 이루어집니다.
  • feature Branch

    • 팀원 각자의 개발 브랜치입니다.
    • 모든 기능 개발은 이 브랜치에서 이루어집니다.
    • 브랜치명: 태그-#이슈번호-개발내용
      • ex) feat-#14-user-api


9. Git Convention (깃 컨벤션)

Label

태그 설명
⚙️ build 빌드 관련 파일 수정
ci/cd CI/CD 설정 파일 수정
✍️ comment 필요한 주석 추가 및 변경
📘 docs 문서를 개선하거나 내용을 추가
✏️ style 코드 포맷 변경, 세미콜론 누락 등 코드 변경 없음
feat 새로운 기능을 추가할 경우
remove 파일을 삭제하는 작업만 수행한 경우
🎨 refactor 프로덕션 코드 리팩토링
💡 rename 파일 혹은 폴더명을 수정하거나 이동한 경우
💡 test 테스트 추가, 테스트 리팩토링 (프로덕션 코드 변경 X)
🔨 fix 버그를 고친 경우

ISSUE TEMPLATE

이슈명: 내용

ex) 유저 CRUD 기능 추가

## 이슈
### 현재 상황
- 현재 발생한 문제나 개선이 필요한 상황을 설명해주세요.

### 목표
- 이슈를 통해 달성하고자 하는 목표를 설명해주세요.

## 작업 내용
- [ ] 작업 1
- [ ] 작업 2
- [ ] 작업 3

## 스크린샷
필요한 경우 스크린샷을 첨부해주세요.

## 참고자료
관련 문서나 링크를 첨부해주세요.


PR TEMPLATE

PR명: [#이슈번호] 내용

ex) [#14] 유저 CRUD 기능 추가

### PR 타입(하나 이상의 PR 타입을 선택해주세요)
- [X] 기능 추가
- [ ] 기능 삭제
- [ ] 버그 수정
- [ ] 문서 수정
- [ ] 코드 리팩토링
- [ ] 테스트 코드 추가 및 리팩토링
- [ ] 의존성, 환경 변수, 빌드 관련 코드 업데이트

### 반영 브랜치
ex) dev/feature/join

### 이슈
[#이슈 번호](이슈 링크)

### 변경 사항
ex) 로그인 시, 구글 소셜 로그인 기능을 추가했습니다. (구체적으로, 명시적으로 작성)

### 테스트 결과
ex) 베이스 브랜치에 포함되기 위한 코드는 모두 정상적으로 동작해야 합니다. 결과물에 대한 스크린샷, GIF, 혹은 라이브 데모가 가능하도록 샘플API를 첨부할 수도 있습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5