Skip to content

5주차 미션 [카카]#6

Open
KateteDeveloper wants to merge 10 commits intomainfrom
kaka/week5
Open

5주차 미션 [카카]#6
KateteDeveloper wants to merge 10 commits intomainfrom
kaka/week5

Conversation

@KateteDeveloper
Copy link
Copy Markdown
Collaborator

🚩 관련 이슈

📌 구현 결과

총 6개의 API를 구현했습니다.


🏠 Home

GET /home/v1/missions - 해당 지역 미션 목록 조회

image

GET /home/v1/mydata - 홈 마이데이터 조회

image

🎯 Mission

GET /mission/v1/missions - 내 미션 목록 조회

image

POST /mission/completed - 미션 완료 처리

image

⭐ Review

POST /review/v1/review/create - 리뷰 작성

image

👤 Member

POST /auth/v1/signup - 회원가입

image

POST /auth/v1/users/me - 내 정보 조회

image

참고 사항

  • JWT 미구현으로 토큰은 임시로 memberId 직접 전달
  • Mission 엔티티의 status, member_id 필드는 ERD상 user_mission 테이블 소속 → 추후 수정 예정
  • MemberphoneNumberStatus 필드 추가
  • Gender enum 값 추후 채워야 함

…rovided diffs:

```text
refactor: 모든 패키지 및 클래스를 kaka 하위 패키지로 이동
```

**Alternative (if you prefer English):**
```text
refactor: move all classes and directories under kaka sub-package
```

### Key Changes Summarized:
* Moved all existing domain and global files under `com.umc.umc10th` to the new `com.umc.umc10th.kaka` base package.
* Updated package declarations in all `.java` and `.kt` files to reflect the new `kaka` directory path.
**feat: 멤버 도메인 에러/성공 코드 추가 및 예외 처리 수정**

### Summary of Changes:
* **`MemberException.java`**: Refactored to accept a `MemberErrorCode` instead of a plain string message, and added a `@Getter` for the error code.
* **`MemberErrorCode.java`**: Added a new enum to standardize member-related error responses (e.g., `MEMBER_NOT_FOUND`, `MEMBER_ALREADY_EXISTS`) along with their corresponding HTTP statuses.
* **`MemberSuccessCode.java`**: Added a new enum to standardize member-related success responses (e.g., `MEMBER_FOUND`, `MEMBER_CREATED`) along with their corresponding HTTP statuses.
refactor: Repository 클래스들을 interface로 변경

**Details of the changes:**
* Changed `ReviewRepository`, `MemberRepository`, and `MissionRepository` from `class` to `interface` to properly set them up as Spring Data JPA repositories (or standard interfaces).
```text
feat: 글로벌 API 공통 응답 포맷 및 전역 예외 처리(ExceptionHandler) 구현
```

**Reasoning:**
The diff shows the creation of several core components for a standardized API payload system. This includes the `ApiResponse` wrapper, common error and success code interfaces (`BaseErrorCode`, `BaseSuccessCode`), specific enums for general and member-related codes, and a global exception handler (`GeneralExceptionAdvice`). Using `feat:` is appropriate here as it introduces a new foundational feature for the project's architecture.
```text
feat: Implement review creation API and domain components

- Add `Review` entity and configure `ReviewRepository` with JPA.
- Implement `ReviewService` and `ReviewController` to handle the review creation endpoint (`/review/v1/review/create`).
- Create `ReviewReqDTO`, `ReviewResDTO`, and `ReviewConverter` for data transfer and entity mapping.
- Refactor exceptions by moving `ReviewException`, `ReviewErrorCode`, and `ReviewSuccessCode` to the `exception` package.
- Replace the existing Kotlin `ReviewController` with a Java implementation.
- Initialize basic REST controller annotations for `MissionController`.
```

If you prefer a strict one-liner matching the exact length of your examples, you can use:
```text
feat: 리뷰 도메인 엔티티 및 생성 API 구현
```
*(or in English)*
```text
feat: Implement review creation API and domain entities
```
```text
feat: Implement mission domain entities and APIs for fetching and completing missions

- Add JPA annotations and relationship mappings to `Mission`, `Location`, and `Store` entities.
- Implement `MissionService` and `MissionController` to handle mission list retrieval (`/mission/v1/missions`) and mission completion (`/mission/completed`).
- Create `MissionReqDTO`, `MissionResDTO`, and `MissionConverter` for data transfer and response mapping.
- Configure `MissionRepository` as a Spring Data JPA interface with a custom find method.
- Refactor `MissionErrorCode` and `MissionSuccessCode` to enums and update `MissionException` to integrate with the global exception handler.
```

If you prefer a strict one-liner matching the style of your examples, you can use:

```text
feat: 미션 도메인 엔티티 설계 및 목록 조회, 미션 완료 API 구현
```
*(or in English)*
```text
feat: Implement mission domain entities and list retrieval, completion APIs
```
```text
feat: Implement home domain APIs and update entity fields

- Create `HomeController` and `HomeService` to handle region mission list retrieval (`/home/v1/missions`) and user data retrieval (`/home/v1/mydata`).
- Implement Home domain components including DTOs, `HomeConverter`, and exception handling (`HomeErrorCode`, `HomeSuccessCode`, `HomeException`).
- Add `deadline`, `conditional`, and audit fields (`createdAt`, `updatedAt`, `deletedAt`) to the `Mission` entity.
- Add `phoneNumberStatus` field to the `Member` entity.
- Refactor Member exceptions by moving `MemberErrorCode` and `MemberSuccessCode` to the `exception.code` package.
- Resolve minor code formatting and whitespace issues across multiple files.
```

If you prefer a strict one-liner matching the style of your examples, you can use:

```text
feat: 홈 도메인 조회 API 구현 및 엔티티 필드 업데이트
```
*(or in English)*
```text
feat: Implement home domain retrieval APIs and update entity fields
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant