프로젝트5 [Spring AI 🤖] 이미지를 분석하고 JSON 포맷팅을 해보자! (feat. EatToFit) 안녕하세요 dev_writer입니다. 요즘 회사 일과 다른 일들로 인해 블로그 작성을 잠시 하지 않았었는데요, 이번에 다시 EatToFit 프로젝트를 하면서 Spring AI를 연결한 과정이 있어 이 부분을 공유드리고자 합니다. 개발 계기: 음식 AI API 만료 문제 발생 🙅사실 Spring AI를 적용하는 것은 음식 검색이 아니라 음식과 회원의 정보를 기반으로 운동 플랜을 생성할 때에만 진행할 계획이었습니다. 기존에는 음식 AI 회사로부터 API를 발급받아서, 분석 품질과 속도, 신뢰성 면에서 모두 우수한 음식 AI 회사의 서비스를 이용할 계획이었습니다. 그러나 API를 받았던 시점이 5월이었는데, 그래서인지 재시도한 결과 만료되었다는 문제가 발생되어 당장은 프로젝트에 사용할 수 없게 되었습니다. .. 2024. 9. 29. [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. 이전 1 다음