We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
각 사용자의 맛집 피드를 조회하는 getFeedListByUserId API를, 가장 높은 호출 빈도가 예상되는 API로 선정하였습니다.
getFeedListByUserId
사용자의 서비스 사용 주요 목적과 행동 패턴을 고려했을 때, 해당 API를 최적화하는 것이 중요할 것으로 판단됩니다.
사용자 중심의 주요 기능
핵심 역할 피드 조회는 스푸니 서비스의 사용자 경험(UX)에서 가장 중요한 부분 중 하나입니다. 사용자가 애플리케이션에 방문하는 주요 이유는 자신과 관련된 정보(예: 게시물, 추천 피드)를 탐색하기 위함입니다.
특화된 API getFeedListByUserId는 특정 사용자와 연관된 게시물 목록을 조회하며, 탐색 페이지의 주요 데이터 소스로 활용됩니다.
반복적이고 지속적인 호출 가능성
새로고침 빈도 사용자는 새로운 게시물을 확인하기 위해 여러 번 데이터를 갱신하거나 새로고침할 가능성이 높습니다.
무한 스크롤 패턴 추후 서버와 클라이언트 모두 피드 조회 시 페이징을 적용할 계획이고, 무한 스크롤 기능을 사용하면 추가 데이터를 불러오기 위해 API 호출이 계속 발생할 수 있습니다.
필터 및 정렬 조건
위치 기반 필터(location_query)나 카테고리(categoryId) 선택, 정렬 기준(sortBy) 변경 등으로 인해 동적인 데이터 요청이 증가합니다.
location_query
categoryId
sortBy
이러한 옵션은 사용자 맞춤형 피드를 제공하기 위한 필수 요소로, 호출 빈도를 높이는 주요 요인입니다.
앱 초기 실행 사용자 로그인 후 탐색 화면에서 기본 피드 로드.
필터 조건 변경 사용자가 위치 또는 카테고리 필터를 수정.
정렬 옵션 변경 `최신순'과 '인기순' 간의 정렬 기준 변경.
무한 스크롤 사용 사용자가 피드를 계속 탐색하며 추가 데이터를 요청.
API 호출 최적화
페이징 처리 적절한 페이지 크기 설정으로 데이터를 효율적으로 로드할 수 있습니다.
캐싱 전략 클라이언트 또는 서버에서 캐싱을 활용해 중복 호출을 줄일 수 있습니다.
DDD(Domain-Driven Design) 패턴을 사용한 API 분리
게시물 등록, 피드 조회 등 여러 핵심 API가 존재하지만, 서비스의 목적과 가장 밀접하게 닿아있는 지도 리스트 조회 API를 핵심 API로 선정하였습니다.
해당 API를 통해 사용자는 본인이 등록한 장소를 지역별로 탐색할 수 있습니다. 사용자가 맛집을 하나씩 추가하고 열람하는 과정이 본 서비스의 가장 중요한 비즈니스 로직입니다.
정의 GET 메서드를 사용하는 데이터 조회 중심 API.
종류
GET /api/v1/user/{userId}
GET /api/v1/place/search
GET /api/v1/feed/{userId}/{categoryId}
GET /api/v1/post/{userId}/{postId}
GET /api/v1/post/categories
분석
정의 POST 및 DELETE 메서드를 사용하는 데이터 생성/수정 중심 API.
POST /api/v1/post
POST /api/v1/post/zzim
DELETE /api/v1/post/zzim/{postId}
POST /api/v1/report
POST /api/v1/post/scoop
The text was updated successfully, but these errors were encountered:
dltnals317
airoca
No branches or pull requests
✅ API 분류 (호출 빈도, Read, Write)
💡 높은 호출 빈도가 예상되는 API: 피드 조회 API
각 사용자의 맛집 피드를 조회하는
getFeedListByUserId
API를, 가장 높은 호출 빈도가 예상되는 API로 선정하였습니다.사용자의 서비스 사용 주요 목적과 행동 패턴을 고려했을 때, 해당 API를 최적화하는 것이 중요할 것으로 판단됩니다.
💡 API 분석
사용자 중심의 주요 기능
핵심 역할
피드 조회는 스푸니 서비스의 사용자 경험(UX)에서 가장 중요한 부분 중 하나입니다. 사용자가 애플리케이션에 방문하는 주요 이유는 자신과 관련된 정보(예: 게시물, 추천 피드)를 탐색하기 위함입니다.
특화된 API
getFeedListByUserId
는 특정 사용자와 연관된 게시물 목록을 조회하며, 탐색 페이지의 주요 데이터 소스로 활용됩니다.반복적이고 지속적인 호출 가능성
새로고침 빈도
사용자는 새로운 게시물을 확인하기 위해 여러 번 데이터를 갱신하거나 새로고침할 가능성이 높습니다.
무한 스크롤 패턴
추후 서버와 클라이언트 모두 피드 조회 시 페이징을 적용할 계획이고, 무한 스크롤 기능을 사용하면 추가 데이터를 불러오기 위해 API 호출이 계속 발생할 수 있습니다.
필터 및 정렬 조건
위치 기반 필터(
location_query
)나 카테고리(categoryId
) 선택, 정렬 기준(sortBy
) 변경 등으로 인해 동적인 데이터 요청이 증가합니다.이러한 옵션은 사용자 맞춤형 피드를 제공하기 위한 필수 요소로, 호출 빈도를 높이는 주요 요인입니다.
💡 호출 상황 구체적 예시
앱 초기 실행
사용자 로그인 후 탐색 화면에서 기본 피드 로드.
필터 조건 변경
사용자가 위치 또는 카테고리 필터를 수정.
정렬 옵션 변경
`최신순'과 '인기순' 간의 정렬 기준 변경.
무한 스크롤 사용
사용자가 피드를 계속 탐색하며 추가 데이터를 요청.
💡 API 최적화 방안 향후 계획
API 호출 최적화
페이징 처리
적절한 페이지 크기 설정으로 데이터를 효율적으로 로드할 수 있습니다.
캐싱 전략
클라이언트 또는 서버에서 캐싱을 활용해 중복 호출을 줄일 수 있습니다.
DDD(Domain-Driven Design) 패턴을 사용한 API 분리
💡 핵심 API: 사용자 지도 리스트 조회 API
게시물 등록, 피드 조회 등 여러 핵심 API가 존재하지만, 서비스의 목적과 가장 밀접하게 닿아있는 지도 리스트 조회 API를 핵심 API로 선정하였습니다.
해당 API를 통해 사용자는 본인이 등록한 장소를 지역별로 탐색할 수 있습니다. 사용자가 맛집을 하나씩 추가하고 열람하는 과정이 본 서비스의 가장 중요한 비즈니스 로직입니다.
💡READ 성 API
정의
GET 메서드를 사용하는 데이터 조회 중심 API.
종류
GET /api/v1/user/{userId}
)GET /api/v1/place/search
)GET /api/v1/feed/{userId}/{categoryId}
)GET /api/v1/post/{userId}/{postId}
)GET /api/v1/post/categories
)분석
💡WRITE 성 API
정의
POST 및 DELETE 메서드를 사용하는 데이터 생성/수정 중심 API.
종류
POST /api/v1/post
)POST /api/v1/post/zzim
)DELETE /api/v1/post/zzim/{postId}
)POST /api/v1/report
)POST /api/v1/post/scoop
)분석
The text was updated successfully, but these errors were encountered: