Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 15 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@

## 앱 사용해보기

iOS 17 이상 환경에서 App Store에서 다운로드 가능

<a href="https://apps.apple.com/us/app/devlog/id6760288611">
<img src="https://img.shields.io/badge/App%20Store-0D96F6?style=flat&logo=appstore&logoColor=white" />

Expand All @@ -53,8 +51,7 @@ Todo, 저장 링크, 오늘 할 일, 받은 알림, 누적 활동을 하나의

## 아키텍처

MVVM을 기반으로 하되, ViewModel 상태 관리에는 MVI 형태의 단방향 흐름을 차용한 구조
`DevLog.xcworkspace` 안에서 Application, Widget 모듈을 분리하고 화면, 상태, 비즈니스 로직, 외부 의존성 경계를 나눈 `MVVM + Clean Architecture` 기반 구성
`DevLog.xcworkspace` 안에서 Application, Widget 모듈을 분리하고 화면, 상태, 비즈니스 로직, 외부 의존성 경계를 나눈 `Clean Architecture` 기반 구성

<table>
<tr>
Expand All @@ -65,14 +62,6 @@ MVVM을 기반으로 하되, ViewModel 상태 관리에는 MVI 형태의 단방
<tr>
<td align="center">Tuist 모듈 의존성 그래프</td>
</tr>
<tr>
<td align="center">
<img alt="StorePattern Protocol" src="./docs/store-protocol.png" />
</td>
</tr>
<tr>
<td align="center">StorePattern 프로토콜</td>
</tr>
</table>

## 주요 기능
Expand Down Expand Up @@ -135,14 +124,16 @@ MVVM을 기반으로 하되, ViewModel 상태 관리에는 MVI 형태의 단방

| 구분 | 스택 |
| --- | --- |
| Deployment Target | iOS 17+ |
| Architecture | Modular Architecture, MVVM, MVI-inspired state flow, Clean Architecture |
| UI | SwiftUI, Charts, MarkdownUI |
| State & Async | Observable, Combine, async/await |
| Backend | FirebaseAuth, FirebaseFirestore, Firebase Cloud Functions, FirebaseMessaging |
| Apple Frameworks | AuthenticationServices, UserNotifications, LinkPresentation, Network |
| Utility | GoogleSignIn, OrderedCollections |
| Tooling | Xcode, Tuist, mise, Swift Package Manager, SwiftLint, Fastlane |
| Deployment Target | iOS / iPadOS 17.0+ |
| Platform Support | iPhone, iPad, Apple Silicon Mac (App Store, Designed for iPad) |
| Architecture | Tuist Modular based Clean Architecture |
| UI | SwiftUI, MarkdownUI, WidgetKit, AppIntents |
| State & Async | Observable, Combine, async/await, The Composable Architecture |
| Backend | Firebase Authentication, Firestore, Cloud Functions, Cloud Messaging, Analytics |
| Apple Frameworks | AuthenticationServices, UserNotifications, LinkPresentation, Network, CryptoKit, os.log |
| External Packages | ComposableArchitecture, MarkdownUI, OrderedCollections, GoogleSignIn, Nexa |
| Testing | swift-testing, TCA TestStore |
| Tooling | Xcode, Tuist, mise, Swift Package Manager, SwiftLint, Fastlane, Firebase CLI |

## 개발 환경 구성

Expand All @@ -155,11 +146,13 @@ MVVM을 기반으로 하되, ViewModel 상태 관리에는 MVI 형태의 단방

| 항목 | 버전 |
| --- | --- |
| Xcode | 26.3 |
| Xcode | 26.5 |
Comment thread
opficdev marked this conversation as resolved.
| iOS Deployment Target | 17.0 |
| Swift | 5.0 |
Comment thread
opficdev marked this conversation as resolved.
| Tuist | 4.194.4 |
| Ruby | 3.2 |
| SwiftLint | 0.63.3 |
| Ruby | 3.4.7 |
| Bundler | 2.7.2 |
| Fastlane | 2.232.2 |
| Node.js | 22 |
| TypeScript | 4.9.5 |
Expand Down
Loading