feat(app): add manual entry and sharing flows

This commit is contained in:
JiWoong Sul
2025-11-19 16:36:39 +09:00
parent 5ade584370
commit 947fe59486
110 changed files with 5937 additions and 3781 deletions

View File

@@ -5,7 +5,7 @@ import '../naver/naver_local_search_api.dart';
import '../../../core/utils/category_mapper.dart';
/// 네이버 데이터 변환기
///
///
/// 네이버 API 응답을 도메인 엔티티로 변환합니다.
class NaverDataConverter {
static const _uuid = Uuid();
@@ -22,13 +22,21 @@ class NaverDataConverter {
);
// 카테고리 파싱 및 정규화
final categoryParts = result.category.split('>').map((s) => s.trim()).toList();
final categoryParts = result.category
.split('>')
.map((s) => s.trim())
.toList();
final mainCategory = categoryParts.isNotEmpty ? categoryParts.first : '음식점';
final subCategory = categoryParts.length > 1 ? categoryParts.last : mainCategory;
final subCategory = categoryParts.length > 1
? categoryParts.last
: mainCategory;
// CategoryMapper를 사용한 정규화
final normalizedCategory = CategoryMapper.normalizeNaverCategory(mainCategory, subCategory);
final normalizedCategory = CategoryMapper.normalizeNaverCategory(
mainCategory,
subCategory,
);
return Restaurant(
id: id ?? _uuid.v4(),
name: result.title,
@@ -36,8 +44,8 @@ class NaverDataConverter {
subCategory: subCategory,
description: result.description.isNotEmpty ? result.description : null,
phoneNumber: result.telephone.isNotEmpty ? result.telephone : null,
roadAddress: result.roadAddress.isNotEmpty
? result.roadAddress
roadAddress: result.roadAddress.isNotEmpty
? result.roadAddress
: result.address,
jibunAddress: result.address,
latitude: convertedCoords['latitude'] ?? 37.5665,
@@ -77,10 +85,15 @@ class NaverDataConverter {
final rawCategory = placeData['category'] ?? '음식점';
final categoryParts = rawCategory.split('>').map((s) => s.trim()).toList();
final mainCategory = categoryParts.isNotEmpty ? categoryParts.first : '음식점';
final subCategory = categoryParts.length > 1 ? categoryParts.last : mainCategory;
final subCategory = categoryParts.length > 1
? categoryParts.last
: mainCategory;
// CategoryMapper를 사용한 정규화
final normalizedCategory = CategoryMapper.normalizeNaverCategory(mainCategory, subCategory);
final normalizedCategory = CategoryMapper.normalizeNaverCategory(
mainCategory,
subCategory,
);
return Restaurant(
id: id ?? _uuid.v4(),
@@ -116,11 +129,6 @@ class NaverDataConverter {
final longitude = mapx / 10000000.0;
final latitude = mapy / 10000000.0;
return {
'latitude': latitude,
'longitude': longitude,
};
return {'latitude': latitude, 'longitude': longitude};
}
}
}