Skip to content

Latest commit

 

History

800 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


$$\color{transparent}\fbox{\Huge \color{pink}{Nail art Design Platform Project}}$$


0. Index

  1. Team Member
  2. Wireframe
  3. Stack
  4. Architecture
  5. Execution Method
  6. Collaboration Tools
  7. Work Rules
  8. Documents

1. Team Member

  • CEO : Chief Executive Officer
  • PM : Project Manager
  • FM : Frontend Manager
  • BM : Backend Manager

BD


@FE-02-SOMI

이소미
CEO

FE


@ju_jh


@lkw9


@lsh7465

주재훈 이기웅 이승현
PM FM UI/UX

BE


@minji-kim525


@ostar11

김민지 조정완
BM

2. Wireframe

( 네디플 사용자 제공 이미지 업로드 요망 )

  • 사용자에게 네일아트 이미지를 제공하는 서비스

Figma 바로가기

( Figma 업데이트 사진 업로드 요망 )


3. Stack

FE







BE





4. Architecture




Project Architecture 작성 요망.



5. Execution Method

Homebrew 설치

Homebrew가 설치되어 있지 않다면, 터미널을 열고 다음 명령어를 실행하여 Homebrew를 설치

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

JAVA 17 설치

brew install openjdk@17

JAVA 환경 변수 설정

  1. Java 경로 확인
/usr/libexec/java_home -V
  • Intel mac: Homebrew는 /opt/homebrew에 설치
  • Silicon mac: Homebrew는 /usr/local에 설치
    ex) /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home
  1. 쉘 프로파일 열기
  • bash를 사용하는 경우: nano ~/.bash_profile
  • zsh를 사용하는 경우 (macOS 기본 쉘): nano ~/.zshrc
  1. 쉘 프로파일 내용 추가 jdk 경로와 일치하도록 설정
  • bash를 사용하는 경우
    export JAVA_HOME=/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home
    export PATH=$JAVA_HOME/bin:$PATH
  • zsh를 사용하는 경우
    export JAVA_HOME=/usr/local/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home
    export PATH=$JAVA_HOME/bin:$PATH
  1. 변경 사항 적용

    source ~/.bash_profile

    또는

    source ~/.zshrc

JAVA 버전 확인

java --version

프로젝트 실행

  1. Gradle 설치: brew install gradle
  2. Gradle 빌드: ./gradlew build
  3. 서버실행: ./gradlew bootRun
    서버가 성공적으로 시작되면, ‘http://localhost:8080'에서 접근 가능

6. Collaboration Tools

Discord

  1. 일간 회의 진행 및 code review시에 사용.
  2. 회의 기록 기재를 위해 사용.
  3. 요청 사항이 생길 시에 사용.
  4. 민감하지 않은 자료 공유시에 사용.
  5. Error 발생시 팀별로 대응하기 위해 사용.

Telegram

  1. 팀원간 긴급한 연락이 필요할 경우 사용.
  2. 팀원간 보안이 필요한 자료 이동의 경우 사용.
  3. 팀원에게 알릴 공지사항 전달 시 사용.

Google Sheet

  1. 화면정의서를 공유하기 위해 사용. (화면정의서 sheet)
  2. 기능정의서를 공유하기 위해 사용. (기능정의서 sheet)
  3. 프론트엔드 팀원간의 진행상황 공유를 위해 사용 (프론트엔드 sheet)
  4. 프론트엔드 팀원과 백엔드 팀원간의 api 명세서 공유를 위해 사용. (API 명세서 sheet)
  5. 백엔드 팀원간의 진행상황 공유를 위해 사용 (백엔드 sheet)
  6. ERD 다이어그램 공유를 위해 사용 (ERD sheet)
  7. 테이블 명세서 공유를 위해 사용 (테이블명세서 sheet)

GitHub Projects

  1. 전체적인 타임테이블을 관리하기 위해 사용.
  2. issue를 생성하고 contributer를 할당하고 reviewer를 등록하기 위해 사용.

7. Work Rules

Workflow

  1. Milestone 생성 (기한 기입 필수)
  2. Projects 에서 Draft 생성 후 issue화 (issue number 등록 및 issue milestone 연동)
  3. milestone 과 관련된 브랜치 생성 후 작업
  4. 작업 완료 후 issue 종료
  5. milestone 내의 모든 issue 종료 후 관련된 브랜치 develop merge

Branch Strategy

  • main / develop 브랜치 기본 생성
  • 브랜치명은 feature-기능명 으로 제작
  • 브랜치명은 영어(소문자)만 허용
  • main으로 PR 하는 것은 개발이 완료된 상황에만 PR
  • 개발 중에는 devolop branch에만 PR
  • PR 전 최소 1인 이상 승인 필수

Git Convention

  1. 적절한 커밋 접두사 작성 (영문 소문자)
  2. 커밋 메시지 내용 작성 (한글로 작성하되 간결하게)
  3. 내용 뒤에 이슈 (#이슈 번호)와 같이 작성하여 이슈 연결
접두사 설명
feat : 새로운 기능, 페이지, 모달, 고정 요소 구현
add : 에셋 파일 추가 (svg 파일, png 파일 등 public 에 추가된 에셋이 있을 때 사용)
fix : 버그, 에러 수정
docs : 프로젝트 내 문서 추가 및 수정
spreadSheet : 스프레드 시트 추가 및 수정
style : CSS 수정 및 포맷팅 변경
refactor : 코드 리팩토링
test : 테스트
deploy : 배포
conf : 빌드, 환경 설정, config 파일 수정 시, 프레임 구축 시
chore : 기타 작업, yarn 패키지 추가 설치, 팀원 간 협의 점 획일 화 필요 시

Pull Request

Title

  • 제목은 '[Feat] 홈 페이지 구현'과 같이 작성합니다.

PR Type

  • [FEAT] : 새로운 기능, 페이지, 모달, 고정 요소 구현
  • [ADD] : 에셋 파일 추가 (svg 파일, png 파일 등 public 에 추가된 에셋이 있을 때 사용)
  • [FIX] : 버그, 에러 수정
  • [DOCS] : 프로젝트 내 문서 추가 및 수정
  • [SPREADSHEET] : 스프레드 시트 추가 및 수정
  • [STYLE] : CSS 수정 및 포맷팅 변경
  • [REFACTOR] : 코드 리팩토링
  • [TEST] : 테스트 관련
  • [DEPLOY] : 배포 관련
  • [CONF] : 빌드, 환경 설정, config 파일 수정 시, 프레임 구축 시
  • [CHORE] : 기타 작업, yarn 패키지 추가 설치, 팀원 간 협의 점 획일 화 필요 시

Code Convention

BE

  • 패키지명 전체 소문자
  • 클래스명, 인터페이스명 CamelCase
  • 클래스 이름 명사 사용
  • 상수명 SNAKE_CASE
  • Controller, Service, Dto, Repository, mapper 앞에 접미사로 통일(ex. MemberController)
  • service 계층 메서드명 create, update, find, delete로 CRUD 통일(ex. createMember)
  • Test 클래스는 접미사로 Test 사용(ex. memberFindTest)

FE

  • Event handler 사용 (ex. handle ~)
  • export방식 (ex. export default ~)
  • 화살표 함수 사용
  • 반응형 웹 개발 지향

Communication Rules

  • Discord 활용
  • 정기 회의 ( 주간, 일간 )
  • 주간 회의 매주 월요일 10시에 진행하는걸로 대체 하고 만약 월요일이 공휴일 일 경우 익일로 대체.
  • 일간 회의 매일 오전 10시 (필수), 오후 16시 진행 (선택).
  • 일간 회의 (오전 10시) - 어제까지 무엇을 했고, 금일 무엇을 계획하고 있으며, 할 예정인지 복기하는 시간.
  • 일간 회의 (오후 16시) - 금일 오전 10시부터 진행한 사항에대해 복기를 하고, 16시 이후부터 진행할 사항 복기하는 시간.

Error Handling Rules

  • 각 팀의 팀장에게 우선 보고하고, 상의 후 1:1 Direct 방식으로 해당 문제와 관련된 사람과 Small Error handling.
  • 1:1 Direct 방식으로 해결이 되지 않을 시, Error로 판단 후, Issue를 먼저 생성하고 팀:팀 방식으로 해결.

1:1 Direct 방식으로 해결하는 문제 => Small Error 팀:팀 방식으로 해결하는 문제 => Error (사건화하여 issue 생성.)


8. Documents

📜 API 명세서

📜 기능 정의서

📜 프론트엔드 구현사항

📜 백엔드 구현사항

📜 테이블 명세서

📜 화면 정의서



About

네디플 백엔드 레포지토리

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages