siwonkim0 / BookStore_SwiftUI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BookStore

구현 내용

검색 화면

  • Core Data를 이용하여 검색 결과를 캐시합니다.
  • 페이지 단위로 검색 결과를 로딩합니다.
    • Core Data에 캐시되어있지 않으면 API 호출을 하고, 호출한 결과를 캐시합니다.
  • 네트워크 연결이 해제되었을때 API 호출시 Alert이 띄워집니다.
    • 네트워크 연결이 해제되었더라도 Core Data에 캐시되어있다면 캐시된 결과를 표시하고,
    • 캐시되어있지 않다면 API 호출을 시도하지만 에러가 발생하면 Alert이 표시됩니다.
  • 검색 결과에 대한 메모가 존재한다면, 메모 이미지가 표시됩니다.
  • Scroll To Top 버튼을 터치하면 가장 처음 결과로 스크롤이 이동합니다.
페이지 단위로 검색 결과 로딩
네트워크 연결 유실시 Alert 표시 메모 존재시 메모 이미지 표시

상세 화면

  • 사용자가 메모를 추가하면 CoreData에 저장됩니다.
새 메모 추가 웹뷰 표시

Directory Tree

├── BookStore
│   ├── BookStoreApp
│   ├── Presentation
│   │   ├── Search
│   │   │   ├── Model
│   │   │   ├── View
│   │   │   └── ViewModel
│   │   ├── Detail
│   │   │   ├── Model
│   │   │   ├── View
│   │   │   └── ViewModel
│   │   └── Extension
│   ├── Repository
│   ├── CoreData
│   │   ├── Entity
│   │   ├── Error
│   ├── Network
│   │   ├── DTO
│   │   ├── Request
│   │   ├── Error
│   │   ├── Support
└── └── └── Interface
└── BookStoreTest
    └── SearchView
        └──TestDouble

About


Languages

Language:Swift 100.0%