From 6a38b7f4c241ee33524608c3776bea983c08208e Mon Sep 17 00:00:00 2001
From: Chanmi Hwang <86944161+cchanmi@users.noreply.github.com>
Date: Fri, 6 Sep 2024 14:45:03 +0900
Subject: [PATCH] Update README.md
---
README.md | 111 +++++++++++++++++++++++++++++-------------------------
1 file changed, 60 insertions(+), 51 deletions(-)
diff --git a/README.md b/README.md
index 1c1ee5bd..91bd240a 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,12 @@
+## 프로젝트 기간
+- **[Smeem Trouble Shooting 보러 가기](#🚀-Trouble-Shooting)**
+- **[Smeem 운영 서비스 개선 경험 보러 가기](#✨-운영-중-서비스-개선-경험)**
+- **[Smeem Test Code](#💡-Test-Code)**
+- **[Smeem 프로젝트 소개](#⭐️-프로젝트-소개)**
+
## 🧑💻 팀원 소개 (Team)
| [황찬미](https://github.com/cchanmi) | [백준](https://github.com/joonBaek12) |
@@ -20,55 +26,7 @@
-## ⚒️ 개발 환경
-- iOS 15.0 +
-- Xcode 15.0
-
-
-
-## ✔️ 사용 기술 & 라이브러리
-- UIKit
-- Combine
-- Moya
-- Firebase
-- KakaoOpenSDK
-- Kingfisher
-- Snapkit
-
-
-
-## 🗂️ Skills
-
-### MVVM Pattern
-
-
-
-- MVVM 패턴으로 UI와 비지니스 로직을 분리합니다.
-- ViewModel의 Input과 Output 구조를 통해 데이터 흐름을 이해하기 쉽습니다.
-
-
-
-### Combine
-
-- Combine Framework를 사용하여 반응형 프로그래밍을 구현합니다.
-- 비동기 작업들을 집중화하고 코드를 직관적으로 관리합니다.
-
-
-
-### Unit Test Code
-
-- 기능 개발 후, 테스트 코드를 작성하여 code coverage 80% 이상을 목표로 합니다.
-
-
-
-### DesignSystem & Custom UI
-
-- 프로젝트 시작 전 DesignSystem 환경을 구축하여 상수화된 컬러, 폰트, 이미지에 편하게 접근합니다.
-- 여러 화면에서 공통적으로 사용되는 UI들을 별도로 Custom Class로 정의하여서 코드의 재사용성을 높였습니다.
-
-
-
-## 🚀 Trouble Shooting
+# 🚀 Trouble Shooting
### 1) UIKit+Combine 환경에서 CollectionView 바인딩 문제
ViewModel로부터 관찰한 데이터를 sink 클로저 안에서 CollectionView에 바인딩을 해야 했습니다.
```swift
@@ -223,7 +181,7 @@ resignButton.tapPublisher
![Simulator Screen Recording - iPhone 13 mini-16 - 2024-08-04 at 17 49 42](https://github.com/user-attachments/assets/704a8280-309c-44e3-b97b-2d76ee7dedbe)
-## ✨ 운영 중 서비스 개선 경험
+# ✨ 운영 중 서비스 개선 경험
### 1) 운영 서비스에서 에러 발생 시 앱 멈춰 버리는 현상 개선
운영 서비스에서 에러가 발생했을 때, 그에 따른 에러 핸들링이 제대로 구축되어 있지 않아서 서비스가 그대로 묵묵부담으로 멈춰 버리는 현상이 발생했었습니다. 팀 내에서 앱이 멈춰버리는 현상을 유저에게 노출시켜서는 안된다는 의견이 나왔고, 의논 끝에 세 가지 에러 상황을 정의해 두고 해당 케이스에 맞는 토스트 메시지를 보여 주고 재시도를 요청하는 기능을 추가하게 되었습니다.
@@ -323,7 +281,7 @@ output.errorResult
-## Test Code
+# 💡 Test Code
### Test Code 목표
- Code Coverage 80% 이상 목표
@@ -398,3 +356,54 @@ func test_공백포함열글자_잘처리하는지() {
}
````
+
+
+# ⭐️ 프로젝트 소개
+
+## ⚒️ 개발 환경
+- iOS 15.0 +
+- Xcode 15.0
+
+
+
+## ✔️ 사용 기술 & 라이브러리
+- UIKit
+- Combine
+- Moya
+- Firebase
+- KakaoOpenSDK
+- Kingfisher
+- Snapkit
+
+
+
+## 🗂️ Skills
+
+### MVVM Pattern
+
+
+
+- MVVM 패턴으로 UI와 비지니스 로직을 분리합니다.
+- ViewModel의 Input과 Output 구조를 통해 데이터 흐름을 이해하기 쉽습니다.
+
+
+
+### Combine
+
+- Combine Framework를 사용하여 반응형 프로그래밍을 구현합니다.
+- 비동기 작업들을 집중화하고 코드를 직관적으로 관리합니다.
+
+
+
+### Unit Test Code
+
+- 기능 개발 후, 테스트 코드를 작성하여 code coverage 80% 이상을 목표로 합니다.
+
+
+
+### DesignSystem & Custom UI
+
+- 프로젝트 시작 전 DesignSystem 환경을 구축하여 상수화된 컬러, 폰트, 이미지에 편하게 접근합니다.
+- 여러 화면에서 공통적으로 사용되는 UI들을 별도로 Custom Class로 정의하여서 코드의 재사용성을 높였습니다.
+
+