Skip to content

SWM-Petmily/SWM-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Petmily iOS app

소프트웨어 마에스트로 프로젝트이며 반려동물을 파양할려는 사람과 반려동물을 입양하고자하는 사람을 연결해주는 중계 플랫폼입니다.

이를 통해 파양된 반려동물들이 동물보호센터로 가거나 유기견이 되는 사회적 문제를 해결하고자합니다.

주요 기능

** 홈 - 상세게시글 & 좋아요** ** 회원가입 ** ** 프로필 수정 **

아키텍쳐

모듈구조

클린 아키텍쳐(Clean Architecture)

  • 같은 목적의 코드들을 같은 Layer에 모아놓음으로써, 관심사를 분리하였습니다.
  • 각각 Layer마다 책임이 다르기에 코드의 가독성과 개발 효율을 높일 수 있습니다.
  • 비즈니스 로직을 담당하는 도메인 계층의 분리로 소스코드의 변경 안정성을 높였습니다.
  • 의존성 역전(DIP)를 통해 응집도를 높히고 결합도를 낮추었습니다.

코디네이터 패턴(Coordinator Pattern)

  • App 모듈에 모든 화면을 관리하는 Coordinator객체를 생성하였습니다.
  • Feature들 사이의 화면 전환 시 의존성없이 화면 전환이 가능하도록 구현하였습니다.

폴더구조

App 모듈

  • DI 주입, Coordinator 패턴 적용

Data

  • 서버와의 통신을 담당
  • DTO, Repository 구현체, DTO를 VO로 변환

Domain

  • 비지니스 로직 담당
  • VO, Repository Protocol, Usecase

Presentation

  • 화면에 보여주는 Feature
  • View, ViewModel

Common

  • 여러 feature에서 사용할 수 있는 공통 로직

사용 기술

  • 아키텍쳐 : Clean Architercutre
  • UI : SwiftUI
  • 네트워크 통신 : Moya, CombineMoya
  • 의존성 주입 : Swinject
  • 비동기 처리 : Combine
  • 이미지 처리 : NSCache

About

소프트웨어 마에스트로 14기 반려동물 분양 iOS 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages