[내배캠 앱창업] Day 34 - 책검색 앱

쏘쏠·2026년 1월 8일

1) 오늘 한 것

책검색 앱 실습 강의 수강

2) 강의 내용

책 검색 앱 프로젝트 생성 + MVVM 폴더 구조 세팅

data/model, data/repository, ui/pages(home/detail), widgets로 분리

Riverpod 추가 + ProviderScope 적용

HomePage UI 구현

AppBar에 TextField 검색창, 검색 아이콘 버튼

TextEditingController 사용 + dispose()로 정리

화면 탭 시 unfocus()로 키보드 닫기(UX)

GridView 구현

GridView.builder + SliverGridDelegateWithFixedCrossAxisCount로 격자 레이아웃

이미지 탭 시 showModalBottomSheet 띄우기

BottomSheet 코드는 home_bottom_sheet.dart로 분리

DetailPage 구현

flutter_inappwebview로 InAppWebView 띄워서 책 링크 페이지 표시

네이버 책검색 Open API 연동

API Key 발급, ClientId/Secret은 노출 금지

Thunder Client로 요청 테스트

Book 모델 클래스 생성

Book.fromJson / toJson

모델 변환 테스트

BookRepository 구현

http 패키지로 GET 요청

try-catch로 예외 처리, statusCode == 200일 때만 파싱

HomeViewModel(Notifer) 구현

HomeState(books)

search() 호출 시 repository 결과로 state 갱신

데이터 바인딩

HomePage를 ConsumerStatefulWidget으로 변경

ref.watch(homeViewModelProvider)로 books 구독

ref.read(homeViewModelProvider.notifier).search(text)로 검색 실행

BottomSheet/DetailPage에 Book 전달해서 데이터 표시

DetailPage는 추가 상태 업데이트가 없어서 ViewModel 불필요 → 삭제

profile
Flutter 앱창업 일기장

0개의 댓글