공백은 공강 시간을 특별하게 채울 수 있는 서비스입니다!
우리는 공강이라는 공백 속에서 더 많은 연결과 경험을 발견하고,
이를 통해 더욱 의미 있고 즐거운 대학 생활을 만들어갈 수 있습니다.
공백이 당신의 공강 시간을 특별하게 채우는 친구가 되어드릴게요!
김나연 | 김민서 | 김희은 |
---|---|---|
![]() |
![]() |
![]() |
|
|
|
- Setting : 초기 프로젝트 세팅
- Feat : 기능 구현, 추가
- Chore : 간단한 수정, 코드 정리
- Add : Feat 외의 부수적인 코드 추가
- Delete : 불필요 코드 삭제
- Fix : 오류 해결
- Refactor : 전반적인 리팩토링
- Docs : 문서 작성
라이브러리 | 목적 | 버전(Version) |
---|---|---|
Moya | 간결한 네트워크 요청과 구조화된 관리 방식으로 코드 가독성과 유지보수성 향상 | |
Combine | 비동기 이벤트 처리를 위한 프레임워크로, 데이터 스트림을 효과적으로 처리하고 리액티브 프로그래밍을 지원 | 내장 라이브러리 |
Lottie | 애니메이션 파일(JSON) 렌더링 및 UI 인터랙션 강화 |
SwiftUI와 잘 어울리는 구조를 고려한 결과, MVVM(Model-View-ViewModel) 패턴을 적용하기로 결정했습니다.
MVVM은 비교적 직관적이며, SwiftUI의 데이터 바인딩 구조와 자연스럽게 연결된다는 장점이 있습니다.
├── 📁 Application
│ ├── Gongbaek_iOSApp
├── 📁 Global
│ ├── 🗂️ Manager
│ │ ├── TokenManager
│ ├── 🗂️ Navigation
│ │ ├── NavigationManager
│ │ ├── NavigationDestination
│ │ ├── RootViewSwitcher
│ │ ├── SignupNavigationView
│ │ ├── TabBarView
│ ├── 🗂️ Enum
│ ├── 🗂️ Extension
│ ├── 🗂️ Literal
│ │ ├── String
│ ├── 🗂️ Component
│ │ ├── 🗂️ Button
│ │ ├── 🗂️ Bar
│ │ ├── 🗂️ TextField
│ │ ├── 🗂️ ...
│ ├── 🗂️ Resource
│ │ ├── Font
│ │ ├── Assets
│ ├── 🗂️ Setting
│ │ │ ├── Config
├── 📁 Network
│ ├── 🗂️ Service
│ │ ├── 🗂️ DTO
│ │ ├── 🗂️ TargetType
│ │ │ ├── SignupTargetType
│ │ │ ├── HomeTargetType
│ │ │ ├── FillingTargetType
│ │ │ ├── MeetingDetailTargetType
│ │ │ ├── MeetingRoomTargetType
│ │ │ ├── CommentTargetType
│ ├── 🗂️ Base
│ │ ├── BaseResponse
│ │ ├── BaseTargetType
│ │ ├── NetworkProvider
│ ├── 🗂️ Environment
│ │ ├── APIConstants
│ │ ├── Config
│ │ ├── EmptyResponseDTO
│ │ ├── MoyaLoggingPlugin
│ ├── Providers
├── 📁 Presentation
│ ├── 🗂️ Home
│ │ ├── 🗂️ Model
│ │ ├── 🗂️ View
│ │ ├── 🗂️ ViewModel
│ ├── 🗂️ Onboarding
│ │ ├── 🗂️ Model
│ │ ├── 🗂️ View
│ │ ├── 🗂️ ViewModel
│ ├── 🗂️ Signup
│ │ ├── 🗂️ Model
│ │ ├── 🗂️ View
│ │ ├── 🗂️ ViewModel
│ ├── 🗂️ Filling
│ │ ├── 🗂️ Model
│ │ ├── 🗂️ View
│ │ ├── 🗂️ ViewModel
│ ├── 🗂️ MyFilling
│ │ ├── 🗂️ Model
│ │ ├── 🗂️ View
│ │ ├── 🗂️ ViewModel
│ ├── 🗂️ AddMeeting
│ │ ├── 🗂️ Model
│ │ ├── 🗂️ View
│ │ ├── 🗂️ ViewModel
│ ├── 🗂️ MeetingDetail
│ │ ├── 🗂️ Model
│ │ ├── 🗂️ View
│ │ ├── 🗂️ ViewModel
│ ├── 🗂️ MeetingRoom
│ │ ├── 🗂️ Model
│ │ ├── 🗂️ View
│ │ ├── 🗂️ ViewModel
│ └── 🗂️ Splash