Skip to content

KPT를 통해 회고를 쉽게할 수 있도록 도와주는 회고 작성 플랫폼

Notifications You must be signed in to change notification settings

yurrrri/Growlibb-iOS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

그로우립

목차

프로젝트 소개

회고를 희망하는 사람들이 손쉽게 회고를 작성할 수 있도록 도와주는 회고 작성 서비스
🔗 앱 다운로드 링크

  • 팀 구성
    • iOS 개발자 1명, Android 개발자 1명, 백엔드 개발자 1명, 디자이너 1명, PM 1명
  • 진행 기간
    • 2022.11 ~ 2023.03
  • 기술 스택
    • 언어 : Swift
    • UI: UIKit, 코드 방식(SnapKit)
    • 비동기 처리 : RxSwift, RxCocoa
    • 네트워킹 : Moya
    • 이미지 처리: Kingfisher
    • 푸시 알림 : Firebase
    • 협업: Slack, Figma, Zeplin

Architecture

MVVM-C


  • Common: 앱 공통/전역으로 쓰이는 Common View, Model, Service 등

  • Base: 앱의 ViewController, ViewModel, Coordinator와 APIService에 공통적으로 사용되는 속성을 정의하며, Feature의 각 요소는 해당 Base 클래스를 상속함으로써 코드 재사용성 향상

  • Presentation Layer

    • Component: 화면 별로 필요한 ViewController, ViewModel을 소유하며 화면 전환 가능성이 있는 Component를 생성 및 전달
    • Coordinator: ViewController의 화면 전환 및 전환에 따른 추가 작업 로직 분리, 화면 계층 관리
    • ViewModel: Moya 기반의 APIService에서 통신한 내용과 UserDefaults의 localDB에 의존하여 데이터를 획득하며, View는 ViewModel을 바인딩함 (RxSwift, RxCocoa)
    • Input/Output Modeling: ViewModel의 Nested Type으로 Input 및 Output 구조체를 추가하여 View에서 ViewModel로 입력이 들어오는 부분은 Input, ViewModel에서 View로 출력되는 부분은 Output으로 분리하여 코드 가독성 향상
  • Data Layer

    • APIService, KeyChainService: 네트워크 통신, KeyChain을 통해 Presentation Layer에 데이터 제공

주요 화면 설명

1) 로그인 / 회원가입 / 비밀번호 찾기

  • 이메일 로그인 방식이며 인증은 휴대폰 번호로 진행합니다. (Firebase Auth)

2) 홈 화면

  • 일주일간 작성한 회고 기록, 해당 월 회고 데이터를 달력을 통해 확인할 수 있습니다.

3) 회고 탭

  • 회고 기록 현황을 애니메이션과 함께 보여주고, 회고를 DONE / KEEP / PROBLEM / TRY에 따라 작성할 수 있습니다.

4) 마이페이지

  • 회고 기록 확인, 회고 수정, 프로필 수정, 기타 알림 설정 등을 제공합니다,

About

KPT를 통해 회고를 쉽게할 수 있도록 도와주는 회고 작성 플랫폼

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 99.8%
  • Ruby 0.2%