From 001642dac95981c0abb993929d7df8fb0fe620c7 Mon Sep 17 00:00:00 2001 From: Yuhan Park <156402683+pbk2312@users.noreply.github.com> Date: Wed, 21 May 2025 10:02:44 +0900 Subject: [PATCH 1/6] =?UTF-8?q?docs:=20readme=20=EC=B4=88=EA=B8=B0=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 210 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 209 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index db6a766e..84721b83 100644 --- a/README.md +++ b/README.md @@ -1 +1,209 @@ -# 럭키비키즈 팀 프로젝트 여행 경비 매니저 +# 🍀 럭키비키즈 팀 프로젝트 - 여행 경비 매니저 + + +## 📝 소개 + +--- + +### 📌 주요 기능 + +## ⚙ 기술 스택 +### 언어 + + + + +
+ Java
+ Java 21 +
+ +### 프레임 워크 및 라이브러리 + + + + + + + +
+ Spring Boot
+ Spring Boot 3.4.5 +
+ React
+ React +
+ Spring Security
+ Spring Security +
+ Spring Data JPA
+ Spring Data JPA +
+ +### 데이터 베이스 + + + + +
+ MySQL
+ MySQL +
+ +### 협업 도구 + + + + + + +
+ Git
+ Git +
+ GitHub
+ GitHub +
+ Notion
+ Notion +
+ +### 문서 + + + +
+ Swagger
+ Swagger +
+ + +
+ +## 💁‍♂️ 프로젝트 팀원 + + + + + + + + + + + + + + + + + + + + +
팀장팀원팀원팀원팀원
+ + 허재원
+ 허재원 +
+
+ + 이선빈
+ 이선빈 +
+
+ + 안필온
+ 안필온 +
+
+ + 정미광
+ 정미광 +
+
+ + 박유한
+ 박유한 +
+
+ +## 🛠️ 역할 분담 + +| 이름 | 담당 기능 | +|--------|-----------| +| **재원** | 팀 도메인| +| **유한** | 지출 도메인| +| **미광** | 예산 도메인| +| **필온** | 정산 도메인| +| **선빈** | 유저 도메인| + + +## 🛠️ 프로젝트 아키텍쳐 + +## 시스템 아키텍처 + + +## ERD + + + +## 플로우차트 + + + + + + + + +## 화면 구성 + + +## 협업 방식 +### 🛠️ 브랜치 전략 +![Image20250428163351](https://github.com/user-attachments/assets/71405653-385a-4bd0-95dd-bb0f58aed569) +1. **이슈 생성** + - GitHub 이슈를 통해 작업 항목 정의 + +2. **브랜치 생성** + - `dev` 브랜치에서 이슈별 작업 브랜치 생성 + - 브랜치 명명 규칙 예시: `feature/이슈번호-작업내용` + +3. **PR 및 코드 리뷰** + - 작업 완료 후 Pull Request(PR) 생성 + - 팀원 간 코드 리뷰 진행 + +4. **Merge 및 브랜치 정리** + - 리뷰 완료 후 `dev` 브랜치로 Merge + - Merge 후 이슈 브랜치 삭제 + - `dev` 브랜치 최신 상태 유지 + +--- + +### 🧑‍💻 코딩 컨벤션 + +**스타일 가이드** +- [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html) 적용 + +**패키지 구조** +- domain +- core +- sharedKernel + +--- + +## 🗂️ APIs + +작성한 API는 아래에서 확인할 수 있습니다. + +
+ 👉🏻 API 바로보기 +
+ +
+
+ + + +## 🤔 기술적 이슈와 해결 과정 From a9328c501d6cd478c5a4ccd0dcd7adbdbd1de31c Mon Sep 17 00:00:00 2001 From: Yuhan Park <156402683+pbk2312@users.noreply.github.com> Date: Wed, 21 May 2025 14:07:05 +0900 Subject: [PATCH 2/6] =?UTF-8?q?docs:=20=EB=82=B4=EC=9A=A9=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 84721b83..480ce815 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,11 @@ ## 📝 소개 + +팀 단위로 여행 경비를 손쉽게 기록하고 정산할 수 있는 플랫폼입니다. + +공동 예산을 설정하고 지출을 입력하면,누가 얼마를 부담해야 하는지 자동으로 계산해주어 팀원 간 경비 정산을 더욱 편리하게 도와줍니다. + --- ### 📌 주요 기능 @@ -130,28 +135,32 @@ ## 🛠️ 역할 분담 -| 이름 | 담당 기능 | -|--------|-----------| -| **재원** | 팀 도메인| -| **유한** | 지출 도메인| -| **미광** | 예산 도메인| -| **필온** | 정산 도메인| -| **선빈** | 유저 도메인| +| 이름 | 담당 기능 | +|--------|------------------------| +| **재원** | 팀 도메인 담당
React 프론트 페이지 개발 | +| **유한** | 지출 도메인 담당
React 프론트 페이지 개발 | +| **미광** | 예산 도메인 담당
React 프론트 페이지 개발 | +| **필온** | 정산 도메인 담당
React 프론트 페이지 개발 | +| **선빈** | 회원 도메인 담당
React 프론트 페이지 개발 | ## 🛠️ 프로젝트 아키텍쳐 ## 시스템 아키텍처 +![시스템 아키텍쳐](https://github.com/user-attachments/assets/90daa01f-4e3b-4927-8b0e-45f2cdbc5eee) + ## ERD +![ERD](https://github.com/user-attachments/assets/b1d7c51d-cbd9-479c-bf8e-4da8c1728f5d) ## 플로우차트 +![플로우 차트](https://github.com/user-attachments/assets/561eaed1-6006-4a14-87d2-b8ea54bda9b9) From c89e65c50bf2aa36f2346c880f4db377b6829bc3 Mon Sep 17 00:00:00 2001 From: Yuhan Park <156402683+pbk2312@users.noreply.github.com> Date: Wed, 21 May 2025 14:12:19 +0900 Subject: [PATCH 3/6] =?UTF-8?q?docs:=20=ED=94=8C=EB=A1=9C=EC=9A=B0=20?= =?UTF-8?q?=EC=B0=A8=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 480ce815..63b5b49f 100644 --- a/README.md +++ b/README.md @@ -164,6 +164,9 @@ +스크린샷 2025-05-07 15 10 04 + + ## 화면 구성 From b278bbbc7d6934ca8725c1b59a9e9d094d99a2fd Mon Sep 17 00:00:00 2001 From: Yuhan Park <156402683+pbk2312@users.noreply.github.com> Date: Wed, 21 May 2025 16:44:17 +0900 Subject: [PATCH 4/6] =?UTF-8?q?docs:=20=EB=82=B4=EC=9A=A9=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 146 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 132 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 63b5b49f..9ced26f1 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,48 @@ # 🍀 럭키비키즈 팀 프로젝트 - 여행 경비 매니저 -## 📝 소개 +## ✈️ 프로젝트 소개 +팀 단위로 여행 경비를 쉽고 정확하게 관리할 수 있는 정산 플랫폼입니다. -팀 단위로 여행 경비를 손쉽게 기록하고 정산할 수 있는 플랫폼입니다. - -공동 예산을 설정하고 지출을 입력하면,누가 얼마를 부담해야 하는지 자동으로 계산해주어 팀원 간 경비 정산을 더욱 편리하게 도와줍니다. +공동 예산을 설정하고 지출 내역을 입력하면, +누가 얼마를 부담해야 하는지 자동으로 계산해주어 +팀원 간 경비 정산을 더욱 간편하고 투명하게 만들어줍니다. --- -### 📌 주요 기능 +## 📌 주요 기능 + +### 👥 팀 관리 + +* 팀 생성 및 참여 +* 팀 멤버 조회 및 삭제 +* 팀 대시보드 조회 + +### 💸 예산 관리 + +* 팀 단위 예산 등록 +* 예산 정보 조회, 수정, 삭제 +* 원화/외화 예산 분리 지원 + +### 💵 지출 내역 관리 + +* 팀별 지출 등록 +* 지출 항목 수정, 삭제 +* 지출 상세 및 리스트 조회 + +### 💰 정산 기능 + +* 정산 단건 조회 +* 정산 목록 및 멤버별 정산 현황 조회 +* 정산 완료 처리 + +### 🔐 사용자 인증 + +* 회원가입 / 로그인 / 로그아웃 / 회원 탈퇴 +* 사용자 기반 팀 참여 + +--- ## ⚙ 기술 스택 ### 언어 @@ -73,6 +105,7 @@ + ### 문서 @@ -83,7 +116,7 @@
-
+---- ## 💁‍♂️ 프로젝트 팀원 @@ -133,6 +166,8 @@ +---- + ## 🛠️ 역할 분담 | 이름 | 담당 기능 | @@ -143,20 +178,21 @@ | **필온** | 정산 도메인 담당
React 프론트 페이지 개발 | | **선빈** | 회원 도메인 담당
React 프론트 페이지 개발 | +--- ## 🛠️ 프로젝트 아키텍쳐 -## 시스템 아키텍처 +### 시스템 아키텍처 ![시스템 아키텍쳐](https://github.com/user-attachments/assets/90daa01f-4e3b-4927-8b0e-45f2cdbc5eee) -## ERD +### ERD ![ERD](https://github.com/user-attachments/assets/b1d7c51d-cbd9-479c-bf8e-4da8c1728f5d) -## 플로우차트 +### 플로우차트 @@ -167,12 +203,49 @@ 스크린샷 2025-05-07 15 10 04 +---- ## 화면 구성 +### 회원가입 및 로그인 + + + +https://github.com/user-attachments/assets/cb83d174-a0a5-44e9-8c3f-2df4d17d5d83 + +### 팀 생성 + +![image](https://github.com/user-attachments/assets/24a1d694-b63d-47aa-a677-62540a18df08) + +#### 팀 대시보드 + +![image](https://github.com/user-attachments/assets/707d6c9d-31d7-4ceb-a0d6-9d14a34f2675) + +#### 예산 설정, 수정 , 삭제 + + +https://github.com/user-attachments/assets/7f384c95-ebae-4c7b-a7a8-02325d286a1f + +#### 지출 등록, 수정, 삭제 + + +https://github.com/user-attachments/assets/0306a909-2c8c-4158-a9fa-a15efdccaef0 + + +#### 정산 수정 및, 정산하기 + + + +https://github.com/user-attachments/assets/84a81b25-53c2-4627-8cfa-ff15c6cbca2e + + + + + ## 협업 방식 + ### 🛠️ 브랜치 전략 ![Image20250428163351](https://github.com/user-attachments/assets/71405653-385a-4bd0-95dd-bb0f58aed569) 1. **이슈 생성** @@ -210,12 +283,57 @@ 작성한 API는 아래에서 확인할 수 있습니다.
- 👉🏻 API 바로보기 -
- -
-
+👉🏻 API 바로보기 + +
+ +### 💸 예산 API + +| 메서드 | URL | 설명 | +|--------|-----|------| +| POST | /api/teams/{teamId}/budget | 팀 예산 추가 | +| GET | /api/teams/{teamId}/budget | 팀 예산 조회 | +| PATCH | /api/teams/{teamId}/budget | 팀 예산 수정 | +| DELETE | /api/teams/{teamId}/budget | 팀 예산 삭제 | + +### 💰 정산 API + +| 메서드 | URL | 설명 | +|--------|-----|------| +| GET | /api/settlements/{settlementId} | 정산 단건 조회 | +| GET | /api/teams/{teamId}/settlements | 정산 목록 조회 | +| PATCH | /api/settlements/{settlementId} | 정산 수정/완료 | + +### 💵 지출 API +| 메서드 | URL | 설명 | +|--------|-----|------| +| POST | /api/{teamId}/expense | 지출 등록 | +| PATCH | /api/expense/{expenseId} | 지출 수정 | +| DELETE | /api/expense/{expenseId} | 지출 삭제 | +| GET | /api/expense/{expenseId} | 지출 상세 조회 | +| GET | /api/teams/{teamId}/expenses | 지출 목록 조회 | +### 👥 팀 API + +| 메서드 | URL | 설명 | +|--------|-----|------| +| POST | /api/teams | 팀 생성 | +| POST | /api/teams/members | 팀 참여 | +| GET | /api/teams/{teamId}/members | 팀 멤버 조회 | +| DELETE | /api/teams/{teamId}/members/{memberId} | 멤버 삭제 | +| GET | /api/teams/{teamId}/dashboard | 대시보드 조회 | + +### 🙋‍♂️ 회원 API + +| 메서드 | URL | 설명 | +|--------|-----|------| +| POST | /api/users | 회원가입 | +| POST | /api/users/login | 로그인 | +| POST | /api/users/logout | 로그아웃 | +| POST | /api/users/{userId} | 회원 탈퇴 | + + ## 🤔 기술적 이슈와 해결 과정 + From 11349d204ce3011930dd37de546168fdff244668 Mon Sep 17 00:00:00 2001 From: Yuhan Park <156402683+pbk2312@users.noreply.github.com> Date: Wed, 21 May 2025 16:45:35 +0900 Subject: [PATCH 5/6] =?UTF-8?q?docs:=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9ced26f1..d1f3b5c1 100644 --- a/README.md +++ b/README.md @@ -33,13 +33,13 @@ ### 💰 정산 기능 -* 정산 단건 조회 +* 정산 단건 조회 및 수정 * 정산 목록 및 멤버별 정산 현황 조회 * 정산 완료 처리 ### 🔐 사용자 인증 -* 회원가입 / 로그인 / 로그아웃 / 회원 탈퇴 +* 회원가입 / 로그인 / 로그아웃 * 사용자 기반 팀 참여 --- @@ -210,8 +210,6 @@ ### 회원가입 및 로그인 - - https://github.com/user-attachments/assets/cb83d174-a0a5-44e9-8c3f-2df4d17d5d83 ### 팀 생성 @@ -263,7 +261,6 @@ https://github.com/user-attachments/assets/84a81b25-53c2-4627-8cfa-ff15c6cbca2e - 리뷰 완료 후 `dev` 브랜치로 Merge - Merge 후 이슈 브랜치 삭제 - `dev` 브랜치 최신 상태 유지 - --- ### 🧑‍💻 코딩 컨벤션 From b7737a9dd7e8d32d78695bce50e27a00cbe5b3f2 Mon Sep 17 00:00:00 2001 From: Yuhan Park <156402683+pbk2312@users.noreply.github.com> Date: Wed, 21 May 2025 17:11:19 +0900 Subject: [PATCH 6/6] =?UTF-8?q?docs:=20=ED=8C=80=20=EB=8C=80=EC=8B=9C?= =?UTF-8?q?=EB=B3=B4=EB=93=9C=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d1f3b5c1..a0e410f3 100644 --- a/README.md +++ b/README.md @@ -218,7 +218,8 @@ https://github.com/user-attachments/assets/cb83d174-a0a5-44e9-8c3f-2df4d17d5d83 #### 팀 대시보드 -![image](https://github.com/user-attachments/assets/707d6c9d-31d7-4ceb-a0d6-9d14a34f2675) +![image](https://github.com/user-attachments/assets/59e25d3f-8d22-41dd-9970-31f18a92e07e) + #### 예산 설정, 수정 , 삭제