본문 바로가기

✨ 프로젝트/EatToFit [F-Lab]5

[EatToFit] 매개변수가 매우 많을 때에는 도메인 생성 로직을 어떻게 작성해야 할까? (feat. 빌더 패턴, DDD) 안녕하세요. dev_writer입니다. F-Lab 멘토링 기간이 얼마 안 남았기도 했고, 리뷰를 받고 싶은 최소 부분들이 거의 다 구현 완료가 되어 추가 리뷰를 위해 리팩터링 작업을 진행하고 있습니다. 그러던 중 마주친 고민점에 대해 공유드리고자 글을 작성하게 되었습니다. 마주친 문제: Food (도메인)를 FoodService (서비스)에서 직접 생성? 🤷리팩터링을 하기 전에는, 음식 (Food) 도메인 엔티티 (정확히 말하면 Food의 vo인 FoodNutrient)를 직접 FoodService에서 빌더 패턴을 이용해 생성했었습니다. 우선 상황을 더 잘 이해하실 수 있도록, 음식 데이터를 저장하는 데 사용되는 FoodCreateRequest, Food / FoodNutrient / FoodWeight.. 2024. 10. 30.
[EatToFit] DB 설계 과정에서의 고민 안녕하세요 dev_writer입니다. 이번에는 이전 글에서 말씀드렸듯이 프로젝트의 DB 설계 과정에서 발생한 고민들을 작성해 보겠습니다. 1. JPA DDL 자동 생성에만 의존하여 DDL을 까먹지 말자.가장 크게 느꼈던 점입니다. 그동안 프로젝트를 할 때에는 언제부턴가 JPA의 DDL 옵션을 create로 하면 자동으로 데이터베이스 테이블들을 만들어주니, 크게 신경 쓰지 않았었습니다. 하지만 JPA DDL을 자동 (create, create-drop)으로 만들도록 하면 다음 단점이 있습니다.create로 할 경우, 애플리케이션을 재시작할 때마다 자동으로 기존 데이터를 전부 삭제하고 다시 만들게 된다.create-drop으로 할 경우에도 기존 테이블을 삭제하는 것은 동일하다.위의 둘 중 어떤 것을 하더라도.. 2024. 9. 15.
[EatToFit] API 설계 과정에서의 고민 (2) 안녕하세요 dev_writer입니다. 원래 DB 설계 과정에서의 고민을 바로 올리려 하였으나, 추가적인 고민점들이 여러 개 생겨 2번째 API 설계 과정 고민 글을 올리게 되었습니다. 1. DELETE 행위는 200 OK가 맞을까 204 No Content가 맞을까?프로젝트에서는 DELETE API와 관련된 작업이 존재하는데, 로그아웃과 음식 삭제가 그 예입니다.로그아웃은 레디스에서 보관한 refresh token을 삭제하는 방식으로 이루어집니다.음식 삭제는 음식의 상태를 soft delete화 하여, deleted_at을 현재 시각으로 업데이트합니다. 일부분인 deleted_at이 업데이트되는 것이기에 PATCH로도 쓸 수 있지만, API의 의도를 명확히 하기 위해 DELETE를 사용하기로 결정하였습니.. 2024. 8. 27.
[EatToFit] API 설계 과정에서의 고민 (1) 안녕하세요 dev_writer입니다. 이번에는 EatToFit 서비스의 API 설계를 진행한 과정에서의 고민점을 기록하려고 합니다. 큰 목록 구성은 이전 글에서 작성한 에서 보실 수 있고, 이 글에서는 고민이 되었던 API에 대해서만 기록하는 식으로 작성하겠습니다. 1. 회원의 정보를 등록하고 수정할 때에는 응답을 어떻게 해야 할까?본 서비스에서는 회원의 정보를 등록하고, 수정하는 기능이 존재합니다. 이 기능을 이용하여 사용자의 닉네임, 신체 정보, 운동 경력, 선호 스포츠, 선호 헬스 등 다양한 정보를 저장시키도록 합니다. 물론 수정할 때에는 이 모든 값들을 요구하지 않고, 선택적으로 값을 수정하게끔 진행하려고 합니다. 하지만 이 API를 설계하는 과정에서 멘토님과 이견을 가진 부분이 존재했습니다. 바.. 2024. 8. 9.
[EatToFit] 프로젝트 아이디어 소개 안녕하세요 dev_writer입니다. 이번에는 F-Lab에서 멘토링을 수강하며 진행할 프로젝트인 EatToFit 프로젝트에 대해 소개드리려 합니다. 클라이언트와의 협업은 없으나, 멘토링이 종료된 이후 F-Lab 안에서든 아니면 외부 팀원을 구해서든 화면 구성으로도 연결해보고 싶은 생각은 있습니다. 프로젝트 간단 소개먼저 EatToFit 프로젝트는 다이어트 등을 하면서 운동을 하는 사람들이, 치킨/피자 등 먹고 싶은 음식을 아예 먹지 않아 결국에는 중간에 먹게 되고, 그로 인해 의지에 대한 스트레스를 받고 있는 상황을 개선할 수 있도록 해 주는 프로젝트입니다. 음식을 아예 먹지 않기보다는 음식을 먹되 그 대신 어떤 운동을 어느 정도 (ex: 달리기 30분)로 하면 충분히 음식의 칼로리를 소모할 수 있다는 .. 2024. 8. 5.