Repository files navigation
브릿지는 개발자, 디자이너, 기획자들을 위한 사이드 프로젝트 모집 플랫폼입니다.
브릿지를 통해 저희가 사이드 프로젝트를 찾거나 모집하는 과정에서 겪었던 불편함을 해결하고자 했습니다.
프레임워크 및 라이브러리: UIKit, RxSwift, FlexLayout, Starscream, SPM, SwiftLint
아키텍처: 클린 아키텍처
디자인패턴: MVVM-C
디자인과 개발을 병렬적으로 진행하기 위해
MVVM 구조에서 뷰 모델이 비대해지는 것을 피하기 위해
유지보수성 및 확장성 높은 소프트웨어 구조를 위해
프로토콜을 사용한 의존성 주입을 통해 계층과 관심사를 분리함으로써 UI와 독립적인 코드 작성 가능
각 계층이 명확한 책임을 갖게 됨으로써 코드의 유지보수성과 더불어 개발 생산성 향상
테스트가 용이해져 mock 리포지토리를 통한 테스트 가능
코드 기반의 UI로 작업하다 보니 내비게이션 계층과 플로우를 파악하기 어려워 도입
뷰 컨트롤러가 뷰를 보여주는 것 이외에도 내비게이션 및 의존성 주입의 책임을 가짐
내비게이션 및 의존성 주입의 책임을 뷰 컨트롤러로부터 분리함으로써 코드의 가독성 및 유지보수성 향상 (SRP 준수)
인스턴스의 불필요한 중복 생성을 방지함으로써 메모리 사용 효율 증가
비동기 네트워킹 및 UI 관련 작업에 대한 쓰레드 관리를 간편하게 하기 위해
중첩된 콜백으로 인한 가독성 저하 문제
복잡한 유저 인풋을 처리하기 어려움
Traits나 operator를 활용해 비동기 네트워킹 및 UI 관련 작업에 대한 쓰레드 관리를 간편하게 할 수 있음
중첩 콜백 대신 Observable을 사용해 비동기 작업과 반응형 프로그래밍을 간결하고 이해하기 쉬운 방식으로 처리 가능
Operator를 사용해 복잡한 유저 인풋 및 비동기 이벤트를 효율적으로 처리 가능
디스코드를 사용해 화상회의 및 의사소통 플랫폼 일원화
파트별 채널 분리를 통해 불필요한 의사소통 비용 제거
깃허브 웹훅을 사용하여 개발 상황 실시간 공유
Pn 룰 기반
클린 아키텍처 및 SOLID 원칙에 입각한 리뷰
리뷰하지 않으면 merge 불가
About
개발자, 디자이너, 기획자들을 위한 사이드 프로젝트 모집 플랫폼
Topics
Resources
License
Stars
Watchers
Forks
You can’t perform that action at this time.