Skip to content

백엔드 융합 프로젝트(강아지 동반 가능 시설)

Notifications You must be signed in to change notification settings

DaengPlace/Daeng-Place-BE

Repository files navigation

0. Getting Started (시작하기)

image

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

  • 프로젝트 이름: 댕댕 플레이스
  • 개발 기간 : 2024.11.12 ~ 2024.12.20
  • 배포 운영 기간 : 2024.11.20 ~ 2024.12.26 - 댕댕 플레이스

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

오유찬 김동규 박종혁 정재민
오유찬 김동규 박종혁 정재민
PL BE BE BE
GitHub GitHub GitHub GitHub

3. Key Features (주요 기능 및 ERD & 아키텍쳐)

  • 회원가입

    • 이메일 인증을 통한 사용자 회원가입
    • 사용자의 정보 등록
    • 사용자의 반려견 정보 등록
  • 로그인

    • 소셜 로그인을 통한 간편 로그인
  • 사용자 및 반려견 회원 관리

    • 사용자 등록, 조회, 수정, 삭제(물리적 삭제)
    • 반려견 등록, 조회, 수정, 삭제
    • 나의 반려견 견종 검색
    • 사용자 즐겨찾기
  • 동반 가능 시설 조회

    • 장소 필터링
  • 리뷰 관리

    • 리뷰 등록, 조회, 수정, 삭제
    • OCR(영수증 리뷰를 통한 리뷰 인증 시스템)
    • 인기 리뷰 리스트 조회
    • 리뷰 좋아요
  • 사용자 및 반려견 성향 진단

    • 사용자 성향 진단
    • 반려견 성향 진단
    • 성향 진단 기반의 장소 추천

3.1 프로젝트 ERD

image

3.2 프로젝트 아키텍쳐

image

3.3 API 명세서

API 명세서의 경우 현재 노션에서 관리하고 있습니다.

image

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

오유찬 오유찬
  • 프로젝트 계획 및 관리
  • 백엔드 배포 관리(무중단 배포)
  • 리뷰 CRUD
  • 장소 필터링
  • 추천 시스템 로직 구현
  • 이미지 업로드
김동규 김동규�
  • 소셜 로그인
  • QUICK SERVICE - OCR(영수증 인증 리뷰)
박종혁 박종혁
  • 즐겨찾기
  • 회원가입
  • 펫 CRUD
정재민 정재민
  • 장소 필터링
  • 리뷰 CRUD
  • 성향 검사
  • 추천 시스템

5. Technology Stack (기술 스택)

5.1 Language

Java JAVA 17.0.11

5.2 Backend

Spring spring 3.3.5 JWT Jwt
MySQL mysql 8.4.3 Oauth2 Oauth2
REDIS redis 7.2.6
AWS CLOUD aws Docker Docker

5.3 Cooperation

git Notion Notion Notion

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

project/
├── Dockerfile              # Docker 컨테이너 설정
├── HELP.md                 # 도움말 문서
├── README.md               # 프로젝트 설명 문서
├── build.gradle            # Gradle 빌드 설정
├── settings.gradle         # Gradle 프로젝트 설정
├── dev.env                 # 개발 환경 변수
├── imagedefinitions.json   # Docker 이미지 정의
├── gradle/                 # Gradle 래퍼 설정
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── mycom/
│   │   │           └── backenddaengplace/
│   │   │               ├── auth/                # 인증/인가 관련
│   │   │               │   ├── config/         # 보안, 웹 설정
│   │   │               │   ├── controller/     # 인증 관련 컨트롤러
│   │   │               │   ├── domain/         # 인증 관련 엔티티
│   │   │               │   ├── dto/            # 데이터 전송 객체
│   │   │               │   ├── handler/        # 인증 핸들러
│   │   │               │   ├── interceptor/    # 인터셉터
│   │   │               │   ├── jwt/            # JWT 관련
│   │   │               │   ├── repository/     # 데이터 접근 계층
│   │   │               │   └── service/        # 비즈니스 로직
│   │   │               ├── common/             # 공통 기능
│   │   │               ├── favorite/           # 즐겨찾기 기능
│   │   │               ├── member/             # 회원 관리
│   │   │               ├── ocr/                # 이미지 인식
│   │   │               ├── pet/                # 반려동물 관리
│   │   │               ├── place/              # 장소 관리
│   │   │               ├── review/             # 리뷰 기능
│   │   │               └── trait/              # 특성 관리
│   │   └── resources/
│   │       ├── application.yml                 # 기본 설정
│   │       ├── application-dev.yml             # 개발 환경 설정
│   │       ├── application-local.yml           # 로컬 환경 설정
│   │       ├── application-email.yml           # 이메일 설정
│   │       ├── application-security.yml        # 보안 설정
│   │       └── templates/                      # 템플릿 파일
│   └── test/
│       └── java/                               # 테스트 코드
└── .gitignore             # Git 제외 파일 목록

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

github ruleset 전략

  • github에 rule을 적용해서 PR에 한 사람 이상이 approve를 해주지 않으면 develop에 머지가 불가능 하도록
  • develop에서 바로 커밋 할 수 없도록 변경(api 통신 이전까지는 유지)

브랜치 전략 (Branch Strategy)

  • 영문 소문자 사용
  • 단어 구분은 하이픈(-) 사용
  • 간결하고 명확하게 작성
  • 이슈번호 포함 가능 (#123)

Branch Type

  • feat/: 새로운 기능 개발
  • fix/: 버그 수정
  • refactor/: 코드 리팩토링
  • chore/: 빌드, 설정 변경
  • docs/: 문서 수정
  • test/: 테스트 코드 추가/수정
  • style/: 코드 포맷팅, 세미콜론 누락 등

Ex .)

  • feat/add-social-login

8. Coding Convention

Gitmoji 사용

  • 🎉 :tada: : 프로젝트 시작
  • :sparkles: : 새 기능
  • 🐛 :bug: : 버그 수정
  • ♻️ :recycle: : 코드 리팩토링
  • 📝 :memo: : 문서 추가/수정
  • 🔧 :wrench: : 설정 파일 추가/수정 (gradle, yml…등등)
  • :white_check_mark: : 테스트 추가/수정
  • 🚀 :rocket: : 배포
  • 📦 :package: : 패키지 추가/수정
  • 🔥 :fire: : 코드 제거

커밋 예시

== ex1
✨Feat: "회원 가입 기능 구현"

SMS, 이메일 중복확인 API 개발

10. 컨벤션 수행 결과

image image

About

백엔드 융합 프로젝트(강아지 동반 가능 시설)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages