GithubHelp home page GithubHelp logo

be-beee / bookment Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 6.35 MB

네이버 검색API를 활용하여 도서 정보 검색을 돕고 독서 기록도 남길 수 있는 iOS 애플리케이션, Bookment 프로젝트입니다.

License: MIT License

Swift 99.44% Ruby 0.56%

bookment's Introduction

반갑습니다! 서보경입니다. 👋


Solved.ac 프로필
Be-beee's github stats Top Langs

bookment's People

Contributors

be-beee avatar

Stargazers

 avatar

Watchers

 avatar

bookment's Issues

북캘린더 책 중복 추가 이슈

기록 화면에서 동일한 책에 관한 여러 기록을 추가할 때 북캘린더에도 책 데이터가 중복으로 추가되는 이슈가 발생함.

RecordContent 및 BookInfo 추가/삭제 이슈

  • 기록 상세 화면에서 보여주는 BookInfo와 관련된 RecordContent를 모두 삭제 시, BookInfo가 함께 삭제되지 않는 이슈 발생함.
  • 하나의 BookInfo에 대해 모든 RecordContent가 삭제된 상태에서 화면 이동을 하지 않고 다시 새로운 RecordContent를 추가할 때, BookInfo가 추가되지 않아 MyLibraryViewController에서 BookInfo가 표시 되지 않는 이슈 발생함

업데이트 예정 사항

  • 전체 UI 개편
  • 독서 목표 설정 기능 추가
  • 독서 기록 에디터 기능 추가
  • 내 서재 그룹 추가

MyLibraryViewController CollectionView 갱신 이슈

DetailRecViewController에서 하나의 도서와 관련된 기록이 모두 삭제된 후 MyLibraryViewController의 CollectionView가 갱신되지 않아 삭제된 도서 정보가 그대로 표시되는 이슈가 발생함

전체 구조 리팩토링

규칙

북멘트는 다음과 같은 규칙으로 리팩토링을 진행 중에 있습니다.

  • ViewController 내 화면(View)과 비즈니스 로직(UseCase)를 명확히 분리하기 위해 MVVM-C 패턴을 적용합니다.
    • 초기에는 MVVM 패턴을 적용하는 것을 우선으로 진행하며 이후 Coordinator 패턴과 Clean Architecture를 적용할 예정입니다.
    • delegate, didSet, Closure를 활용한 리팩토링을 선행한 결과 객체 간 데이터 전달 시 사용하는 delegate와 ~~ViewModelDelegate 형식의 delegate 간의 역할 구분이 어려워져 RxSwift/RxCocoa (또는 Combine) 도입을 고려하고 있습니다.
  • 코드 스타일은 기본적으로 StyleShare Swift Guide를 따르고 있습니다.
  • 별도의 커밋 컨벤션을 활용하고 있습니다.

세그먼트 컨트롤과 페이징 뷰 연결 이슈

세그먼트 컨트롤의 selectedIndex값이 변경됨에 따라 페이징 뷰를 변경하려 했으나 잘 되지 않음
delegate 패턴, UIPageViewControllersetViewControllers를 모두 사용해봤으나 실패함
다른 방법을 찾아볼 것

책 검색 이슈

검색 단어가 태그로 감싸져 있어서 가독성이 불편함

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.