Skip to content

Leebumju/Flooming-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🥀Flooming - [당신만의 꽃을 그림으로 피워봐요]

딥러닝 모델을 활용한 꽃 사진 분류, 꽃 그림 생성 모바일 앱


길거리에 피어있는 꽃의 이름이 궁금한가요?

  • Flooming을 통해 꽃의 이름과 꽃말을 알아보세요.
  • 당신이 찍은 꽃 사진을 그림으로 피울 수 있어요.
  • 간직하고 싶은 꽃을 그림으로 공유하고 다른 사용자들의 그림도 감상할 수 있어요.

주요 화면

스크린샷 2022-08-31 오후 6 13 28

주요 기능

  • 꽃 사진을 업로드 하면 어떤 꽃인지 분류하여 한명, 영문명, 꽃말을 알려주는 기능 (28개의 서로다른 꽃 클래스 탑재)
  • 꽃 사진을 그림으로 변환하는 기능
  • 갤러리 기능 (꽃 사진, 그림 공유 및 다운로드)

기술 스택

iOS

Swift Alamofire Mantis lottie-ios SnapKit Gifu SwiftyJSON

📱 담당한 기능 (iOS)

  • iOS 개발 부분을 담당해 전체 기능을 구현(100%)했습니다.
  • 개발 기간 동안 78번의 Commit과 전체 코드 104840라인을 작성했습니다.
  • App Store에 해당 App을 출시하기 위해 총 4번의 리젝 사유를 수정했습니다. 수정을 통해 결과적으로 App Store에 App을 출시했습니다.

💡 깨달은 점

  • Alamofire 라이브러리는 iOS, macOS를 위한 스위프트 기반 HTTP 네트워킹 라이브러리로 Apple의 Foundation networking 기반으로 인터페이스를 제공하여 일반적인 네트워킹 작업을 단순화합니다.
  • Cocoapods은 라이브러리 의존성 관리 매니저이고, 많은 xcode 프로젝트 라이브러리들이 cocoapods으로 관리 되어집니다.
  • Mantis 라이브러리는 사진을 imagePicker에서 선택한 후 사이즈를 조정하거나 기울기, 크롭 등의 작업을 해주기 위해 사용됩니다.
  • SnapKit 라이브러리는 iOS에서 오토 레이아웃을 스토리 보드 없이, 쉽고 간략하게 설정해줄 수 있는 기능을 가지고 있습니다.
  • Gifu 라이브러리는 IOS 에서 이미지 뷰를 사용해 gif 파일 애니메이션 동작 수행을 간편하게 해줍니다.
  • SwiftyJSON 라이브러리는 Alamofire와 호환이 가능하고, Swift에서 JSON 파싱 자동화를 강력하고 심플하게 도와줍니다.

❗ 개선해야 할 점

  • MVVM 패턴을 적용하려 했으나 70% 이상의 부분에서 해당 패턴을 적용하지 못했습니다. 출시 이후 프로젝트를 유지보수 하는 과정에서 패턴을 적용하지 못했던 부분의 가독성이 좋지 못해 코드를 이해하기가 어려웠습니다. 이러한 경험을 통해 올바른 디자인 패턴 필요성에 대해 확실하게 깨닫게 되었습니다.
  • 해당 프로젝트를 진행하면서 테스트 코드를 작성하지 않았습니다. 따라서 작성한 로직이 제대로 작동하는가에 대한 확신을 가질 수 없었습니다. 따라서 다음 진행할 프로젝트에서 이러한 테스트 코드를 작성해야 겠다는 것을 깨닫게 되었습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages