Skip to content

⚙️[기능추가][폴더] 폴더 CRUD 및 저장 장소 관리 UI 구현 #25

Description

@Cassiiopeia

📝 현재 문제점

  • 백엔드 이슈 MapSee-Lab/MapSy-BE#26에서 폴더 CRUD 및 폴더-장소 관리 API 7종이 구현 완료되었으나, 프론트엔드에 해당 기능이 전혀 없는 상태
  • 현재 AI 추출 후 장소 저장 시 폴더 선택 없이 단순 저장만 가능
  • 저장된 장소 목록을 조회하거나 폴더별로 분류하는 화면이 없음
  • 마이페이지에 폴더 관련 정보가 전혀 표시되지 않음

🛠️ 해결 방안 / 제안 기능

  • 마이페이지에 폴더 미리보기 섹션 추가 (가로 스크롤 칩)
  • 마이페이지 하위에 저장 장소 관리 페이지(SavedPlacesPage) 신규 구현
  • 폴더 탭 바 (칩 형태), 장소 카드 목록, 생성/수정/삭제 바텀시트 구현
  • 백엔드 폴더 API 7종 연동 (GET/POST/PUT/DELETE)

⚙️ 작업 내용

데이터 레이어:

  • API Endpoints 추가 (폴더 관련 4개 경로)
  • Freezed DTO 4개 파일 생성 (FolderModel, CreateFolderRequest, UpdateFolderRequest, FolderPlaceModel 등)
  • SavedPlacesRemoteDataSource 생성 (Dio 기반 API 호출 7종)
  • SavedPlacesRepository 인터페이스 + 구현체 생성

프레젠테이션 레이어:

  • SavedPlacesNotifier (Riverpod) 상태 관리 생성
  • SavedPlacesPage 메인 화면 구현
  • FolderTabBar 위젯 (가로 스크롤 칩 탭)
  • FolderPlaceCard 위젯 (장소 카드)
  • CreateFolderBottomSheet (폴더 생성)
  • EditFolderBottomSheet (폴더 수정/삭제)
  • EmptyFolderState (빈 폴더 상태)
  • FolderPreviewSection (마이페이지 미리보기)

라우팅:

  • /mypage/saved-places 경로 추가
  • GoRouter 라우트 등록

기존 파일 수정:

  • api_endpoints.dart: 폴더 API 엔드포인트 추가
  • route_paths.dart / app_router.dart: 라우트 추가
  • mypage_page.dart: 폴더 미리보기 섹션 삽입

빌드:

  • build_runner 실행 필요 (Freezed/Riverpod 코드 생성)

🙋‍♂️ 담당자

  • 백엔드: 이름 (API 구현 완료 - MapSy-BE#26)
  • 프론트엔드: 이름
  • 디자인: 이름

Metadata

Metadata

Assignees

Labels

작업 완료작업 완료 상태인 경우 (이슈 폐쇄)

Type

No type
No fields configured for issues without a type.

Projects

Status
작업 완료

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions