Skip to content

Chang-Geun-Ryu/iOSHouseOfToday

 
 

Repository files navigation

오늘의 집 클론 프로젝트

패스트캠퍼스에서 진행하는 팀 프로젝트
Backend, Frontend, iOS까지 총 10명이 한 팀으로 구성하여 하나의 서비스를 프론트부터 서버까지 만들어 보는 프로젝트
현재 매우 빠르게 성장중인 스타트업인 버킷플레이스가 서비스하고 있는 인테리어 플랫폼 오늘의 집을 클론한 프로젝트

  • 기간 : 2019.07 ~ 08
  • 소속 : 회식First팀 내 iOS개발 팀
  • 역할 : 사진, 집들이, 랭킹, 마이페이지 담당, 복잡한 JSON Data를 Codable 프로토콜을 이용한 파싱
  • 사용기술
    • Swift5
    • 라이브러리 : SwiftLint, Kingfisher, SnapKit
    • 외부 SDK : KaKaoSDK, googleSDK, naverSDK
    • 협업 툴 : Trello, Slack, Github
    • 소스 : Dynamic AutoLayout, Callback


설계

  • RestAPI 설계(Backend 팀과 함께 설계)

  • 플로우 차트 - AdobeXD

  • 명세서 작성 - Keynote

  • 데이터 모델 설계 - 마인드맵



스크린샷



데모영상



협업

  • Trello, Github

  • Slack (전체 팀 채널과 iOS팀 채널 두 개로 운영)




문제해결 아카이브

  • Backend와 협업할 때 초반에 API 설계와 변수 네이밍 맞추기와 같은 작업을 함께 진행하는 것이 좋다는 조언을 받음

    • Backend 개발자와 협의해서 프로젝트를 시작하기 전에 REST API를 함께 설계해서 프로젝트를 매끄럽게 진행할 수 있었다.
  • Github로 프로젝트 관리를 어떻게 효율적으로 할 수 있을지 고민.

    • master 프로젝트를 생성하고 팀원이 fork 하는 방식으로 해결.
  • Backend, Frontend 팀과의 의사소통 문제 발생. 다른 팀이 어떤 일을 하고 있는지 모르는 문제.

    • Trello를 활용하여 모든 팀원이 참여하는 Board생성 및 각 팀이 하고 있는 작업목록과 그에 따라 팀 Label을 붙임으로써 팀 간 실시간 의사소통 문제를 해결할 수 있었다.
  • 애플에서 기본적으로 제공하는 UI가 아닌 UI를 만들어야 하고 그 UI를 여러 화면에서 재사용해서 구현해야 하는 문제.

    • 한명이 커스텀 UI(CustomCatetoryTabBar)를 추상적으로 재사용 가능하게 만드는 것을 집중적으로 담당해서 구현함으로써 해결.
  • 자체 로그인 기능 뿐만 아니라 소셜로그인(카카오톡, 네이버, 구글)기능을 구현해야 하는 문제.

    로그인 기능은 Token이라는 권한을 서버와 주고 받아야 하기 때문에 Backend 개발자와의 실시간 소통이 중요하므로 Backend팀에 로그인 담당을 정해달라고 요청해서 실시간 소통하며 로그인 문제 해결.

    서버에서 구축된 Token 시스템을 기반으로 Kakao, Google, Naver의 SDK 문서를 공부하여 소셜로그인 해결.

  • UI구현에 있어 다양한 기능과 디테일한 요소의 구현의 어려움 (정보애 따른 유동적인 레이아웃 구성, 스크롤뷰에 맞게 이미지뷰 세팅, 버튼의 타이틀과 이미지의 정렬, Label의 부분 글자 크기/색상 변경 등)

    • 이전에 배웠던 내용을 살펴보고 공부하면서 문제를 해결했다.
  • 데이터를 여러 번 불러오면서 보여주는 화면의 로딩시간이 오래걸렸으나 요청횟수를 적게하여 효율적으로 수정

네트워킹 통신에서 발생한 문제 소셜 커머스 서비스인 장바구나, 결제시스템 구현할 때 문제 클린코드를 위한 고민 외부 라이브러리를 사용할지에 대한 고민

About

House Of Today iOS App project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Swift 83.1%
  • Objective-C 16.9%