Description 배경
현재 단순히 코스 리스트 및 코스 조회만 가능한 상태
하지만 여러 코스들 사이에서도 서로 공통점들이 있다.
(예: 사당능선 코스와 케이블카능선 코스는 관악산이라는 카테고리 안에 포함된다)
따라서, 태그 관련 기능을 추가해 유저가 코스를 검색할 때 특정 테마 또는 태그를 위주로 볼 수 있게 한다
작업 내용
데이터 구조 관련
태그 관련 데이터 구조를 추가
이때 태그는 타입이 크게 두개다
산을 나타내는 산악형
공식화된 명칭을 가진 시리즈(해파랑길 등, 금오도 비렁길 등...)을 나타내는 루트형
초보용, 관악산히든스트리트 같은 테마형
웹 페이지
태그 관련 페이지 추가
특정 태그에 대한 상세정보 페이지 추가
코스 조회 페이지에서 각 코스 아이템 마다 태그 리스트 추가
코스 상세 페이지 상단에 태그 노출
어드민 페이지에 태그 관리 기능 추가
구현 세부사항 (Implementation Details)
DB
코스와 카테고리는 다대다 관계. 즉, 하나의 코스는 여러 카테고리를 가질 수 있다.
추가 테이블
코스 태그 (course_tag)
태그명 (name)
설명 (description)
태그 타입 (type)
MOUNTAIN (산악형), ROUTE (루트형), THEME(테마형)
코스 태그 이미지 (course_tag_image)
중간 테이블 (course_tag_course)
API Server
추가
코스 태그 조회 API: GET /course-tags
요청
태그명 연관검색 (name)
타입 (type)
응답
코스 태그에 대한 정보
대표 이미지 (order 최상위)
코스 상세 API: GET /course-tags/{tag-id}
요청
응답
코스 태그에 대한 정보
이미지 리스트
집계 데이터
코스 리스트
수정
코스 상세정보 조회: GET /courses/{course-id}
웹 페이지
페이지를 세개 추가한다 (산, 지역, 테마). 단 내용물은 동일하다, (이 세개를 "태그"라는 이름으로 가정)
태그 리스트 페이지
태그들을 페이지네이션을 나열한다
연관검색어를 이용한 태그 검색
태그 상세 페이지
태그 이름, 태그 연관 이미지, Markdown 기반의 설명 배치
코스 타입(하이킹, 트레킹) 개수 집계
난이도 (1~7) 집계, 히스토그램 형태로 노출
해당 태그에 해당하는 코스들을 페이지네이션 형태로 출력 (이때 페이지네이션 크기를 가능한 크게 (30개 이상))
코스 검색 리스트 기능 변경
리스트 출력 시, 태그 관련 정보 간단하게 추가
(검색시 태그 추가 검색 기능의 경우 검색쿼리 최적화 후 진행 예정)
코스 상세 정보
태그 관련 정보를 추가하고, 그 태그를 누르면 해당 태그 상세 페이지로 이동
어드민 페이지 관련
태그 관리 페이지 추가
태그와 코스를 연결하는 페이지 추가
태그 이미지를 업로드 하는 페이지 추가
Reactions are currently unavailable
You can’t perform that action at this time.
배경
작업 내용
구현 세부사항 (Implementation Details)
DB
API Server
GET /course-tagsGET /course-tags/{tag-id}GET /courses/{course-id}웹 페이지
어드민 페이지 관련