Skip to content

v2.0.0 #21

Description

@Seungpyo1007

TechAPI 기반 전면 재구축. 계획서는 docs/REBUILD_PLAN.md, 디자인은 docs/DESIGN_BRIEF.md.

기반 작업 (완료)

재구축

출시 전

  • google-services.json 실제 파일로 교체 — 지금 oauth_client가 비어 Google 로그인 안 됨
  • iOS/macOS 빌드 — CocoaPods 미설치, ios/Runner/GoogleService-Info.plist 없음
  • 릴리스 서명키, applicationId (com.example.techpicks는 스토어 업로드 거부됨)
  • Firestore / Storage 보안 규칙 점검 — v1.0.1beta가 공개돼 있고 실제 프로젝트를 물고 있다

재작성할 때 같이 고칠 것

Gemini 이미지 전달 — v1은 base64 문자열을 텍스트 프롬프트에 이어붙였다 (Scan.dart:79). 모델이 이미지로 인식하지 않는다.

Content.multi([
  TextPart('Identify the phone model in this image.'),
  InlineDataPart('image/jpeg', bytes),
])

모델 IDgemini-flash-experimental은 유효하지 않다. Scan.dart:46, ChatAI.dart:95.

개발자 권한LoginPage.dart:20에 관리자 이메일이 평문. 클라이언트 검사라 우회 가능. Custom Claims로.

차트 라이브러리fl_chart는 미사용, 실제로 쓰는 건 syncfusion_flutter_charts(Phone.dart). 화면 새로 쓸 때 정리. syncfusion은 상용 라이선스 문제 있음.

데이터 소스

api.techapi.dev는 미배포(DNS 미해결). GitHub Pages 정적 덤프를 쓴다. 실제 엔드포인트를 replay해 만들어져서 REST와 스키마가 같고, URL 조립만 다르다.

REST   /v1/smartphones/galaxy-s25
덤프   /v1/smartphones/galaxy-s25/index.json

배포되면 TechApiSource 구현만 바꾸면 된다.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

v2-rebuildv2 전면 재구축 (TechAPI 기반)

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions