Skip to content
This repository has been archived by the owner on Aug 13, 2022. It is now read-only.

f-lab-edu/blue-delivery

Repository files navigation

Blue Delivery

배달의민족 클론 코딩 프로젝트입니다.


기능정의

가게
위키참조

고객

  • 회원가입/로그인, 정보 수정, 탈퇴
  • 가게/음식 검색하기
  • 주문할 음식목록 만들기 (장바구니)
  • 주문하기
  • 결제하기
  • 리뷰작성

라이더

  • 배달 요청 수신하기
  • 배달 완료 처리하기

사용 기술

  • Java11
  • Spring boot
  • Gradle
  • MyBatis
  • MySQL
  • Docker

브랜치 전략

Github Flow

Github Flow는 main 브랜치를 가 곧 product가 되는 전략입니다.

img

(master = main)

새로운 작업 전에 작업 내용을 담은 브랜치를 생성하고 작업합니다.

  • feature-로그인구현
  • readme-edit 등

작업이 끝나면 원격 브랜치로 push 하고, Pull Request를 통해 피드백을 받습니다.

리뷰가 끝난 커밋은 main 브랜치로 병합됩니다.

(로컬) 빌드 자동화

git hook 을 이용해 로컬환경에서 빌드 자동화를 구성했습니다.

적용방법

커맨드라인에서 git config core.hookspath .githooks 설정

  • git --version 으로 버전 확인 후 2.9 아래면 업데이트 필요
  • 이후 commit 이나 push 명령시 자동으로 트리거가 실행됌

commit

push

  • 원격 저장소의 브랜치가 main 인지 확인 (main이면 push 불가능)
  • main 브랜치를 pull해서 최신 상태 유지

DB 형상관리

flyway 사용하여 런타임에 마이그레이션함.

  • @ActiveProfiles("test")를 추가하면 테스트시에 h2 인메모리 db를 사용하여 테스트함
  • application-dev.yml에 ${db_username} 등 placeholder는 시스템 환경변수에 자기의 db 이름, username 등에 맞춰 설정하면 됌

docker compose 적용

docker-compose

  • docker compose up 명령어 실행으로 필요한 이미지 다운로드 및 컨테이너 실행