|
1 | | -# 25th-App-Team-2-iOS |
| 1 | +# TnT |
| 2 | +<img src="https://raw.githubusercontent.com/YAPP-Github/TnT-iOS/refs/heads/TNT-294-ReadMe/TnT/Photos/TNT_%E1%84%80%E1%85%B3%E1%84%85%E1%85%A2%E1%84%91%E1%85%B5%E1%86%A8%E1%84%8B%E1%85%B5%E1%84%86%E1%85%B5%E1%84%8C%E1%85%B5.png" > |
| 3 | + |
| 4 | +### # νΈλ μ΄λμ νΈλ μ΄λλ₯Ό μ°κ²°νλ€ |
| 5 | + |
| 6 | +PT ν¨κ³Όκ° λ―Έλ―Ένκ±°λ, κΎΈμ€ν PTλ₯Ό μ§μνκΈ° μ΄λ €μ λμ? νΈλ μ΄λμ νΈλ μ΄λ μ¬μ΄μ 체κ³μ μΈ μν΅κ³Ό ν¨μ μ μΈ PT μ΄μμ μ§μ κ²½ννμΈμ :) |
| 7 | + |
| 8 | +πͺπ» νΈλ μ΄λλ 체κ³μ μΈ νμ κ΄λ¦¬λ₯Ό, νΈλ μ΄λλ ν¨μ¨μ μΈ κΈ°λ‘μ! |
| 9 | +π TnTμ ν¨κ» νΈλ μ΄λμ νΈλ μ΄λμ μΌλ―Έλ₯Ό ν°νΈλ €λ³΄μΈμ! |
| 10 | + |
| 11 | +------- |
| 12 | +### Develpoment Environment |
| 13 | +``` |
| 14 | +Minimum Deployments: iOS 17.0 |
| 15 | +Xocde Version: 16.0.1 |
| 16 | +Tuist Version: 4.37.0 |
| 17 | +``` |
| 18 | + |
| 19 | +**μΈλΆ λΌμ΄λΈλ¬λ¦¬** |
| 20 | +``` |
| 21 | +kakao-ios-sdk |
| 22 | +KingFisher |
| 23 | +FirebaseMessaging |
| 24 | +ComposableArchitecture |
| 25 | +FSCalendar |
| 26 | +``` |
| 27 | + |
| 28 | +--- |
| 29 | +### Skill Stack |
| 30 | +- Development: SwiftUI + Tuist + Modular Architecture |
| 31 | +- Modular Architecture : Clean Architecture κΈ°μ€ λ μ΄μ΄λ³ λͺ¨λν |
| 32 | +- Architecture : Clean Architecture + TCA |
| 33 | +--- |
| 34 | + |
| 35 | +### Architecture (Clean Architecture + TCA) |
| 36 | + |
| 37 | +<img src="https://raw.githubusercontent.com/YAPP-Github/TnT-iOS/refs/heads/TNT-294-ReadMe/TnT/Photos/Architecture.png"> |
| 38 | + |
| 39 | +------- |
| 40 | +### Layer ꡬν λ΄μ© |
| 41 | +**Application Layer** |
| 42 | +- AppDelegate, SceneDelegate μμΉ |
| 43 | +- μ ν리μΌμ΄μ
μ μ§μ
μ μΌλ‘μ¨ μ€νκ³Ό κ΄λ ¨λ μμ
μ μ²λ¦¬ν¨ |
| 44 | + |
| 45 | +`Data Layer` |
| 46 | +- μΈλΆ λ°μ΄ν° μμ€μμ μνΈμμ©μ λ΄λΉνλ λ μ΄μ΄ |
| 47 | +- Network / Local(KeyChain) λ‘ λλμ΄ μΈλΆ λ°μ΄ν°λ₯Ό κ΄λ¦¬ν¨ |
| 48 | +- DTOλ‘ λ°μμ€λ©° Mapperλ₯Ό ν΅ν΄ μ± λ΄λΆμ λ§λ λ°μ΄ν°λ‘ λ³ννμ¬ μ¬μ© |
| 49 | +- Moyaμ λ‘μ§μ URLSessionμ μ λͺ©νμ¬ Interceptorμ Loggerλ₯Ό ꡬνν¨ |
| 50 | + |
| 51 | +`Domain Layer` |
| 52 | +- λΉμ¦λμ€ λ‘μ§μ μ²λ¦¬νλ μ ν리μΌμ΄μ
μ ν΅μ¬ λ μ΄μ΄λ‘, μ±μ λλ©μΈ κ·μΉμ μ μν¨ |
| 53 | +- Entity: λΉμ¦λμ€ λλ©μΈμ ν΅μ¬ λͺ¨λΈμ΄λ©°, UIλ μΈλΆ λ°μ΄ν° μμ€μ λ
립μ |
| 54 | +- UseCase: νΉμ λΉμ¦λμ€ κ·μΉμ μννλ μΈν°νμ΄μ€λ‘, Repositoryλ₯Ό ν΅ν΄ λ°μ΄ν°λ₯Ό κ°μ Έμ€κ±°λ κ°κ³΅νμ¬ Presentation Layerμμ μ¬μ©ν μ μλλ‘ κ΅¬νν¨ |
| 55 | +- Repository Protocol: λ°μ΄ν° μ κ·Ό λ°©μ(Network, Local Storage λ±)μ μΆμννμ¬, Data Layerμ ꡬνκ³Ό λΆλ¦¬λ ννλ‘ μ μ§μν΄ |
| 56 | + |
| 57 | +`Presentation Layer` |
| 58 | +- UIμ κ΄λ ¨λ λͺ¨λ μμλ₯Ό λ΄λΉνλ λ μ΄μ΄λ‘, **SwiftUI + TCA** μΌλ‘ ꡬμ±λ¨ |
| 59 | +- **View (SwiftUI)**: Storeμμ μ 곡νλ μνλ₯Ό κΈ°λ°μΌλ‘ UIλ₯Ό λ λλ§νλ©°, μ μ μΈν°λμ
μ ActionμΌλ‘ λ³ννμ¬ Storeμ μ λ¬ν¨ |
| 60 | +- **Feature (Reducer + State + Action)**: κ° νλ©΄μ νλμ Featureλ‘ κ΅¬μ±νκ³ , Reducerμμ Stateμ Actionμ κ΄λ¦¬νλ©° λΉμ¦λμ€ λ‘μ§μ UseCaseμ μμν¨ |
| 61 | +- **Navigation**: TCAμ Reducer κΈ°λ° λ€λΉκ²μ΄μ
μ νμ©νμ¬ νλ©΄ μ νμ κ΄λ¦¬νλ©°, λ€λΉκ²μ΄μ
μν(Path, Stack)λ₯Ό Stateλ‘ μ μ§ν¨ |
| 62 | + |
| 63 | +`DIContainer` |
| 64 | +- DIContainerλ μ± μ λ°μμ **κ°μ²΄μ μμ±κ³Ό μμ‘΄μ± μ£Όμ
μ κ΄λ¦¬ν¨** |
| 65 | +- κ° λ μ΄μ΄μ κ°μ²΄λ€μ΄ μ§μ μΈμ€ν΄μ€λ₯Ό μμ±νλ λμ , DIContainerλ₯Ό ν΅ν΄ νμν μμ‘΄μ±μ μ£Όμ
λ°λλ‘ μ€κ³νμ¬ **ν΄λ¦° μν€ν
μ²μ μμΉ(μμ‘΄μ± μμ μμΉ, DIP)** μ λ°λ₯Ό μ μλλ‘ν¨ |
| 66 | +- Repository, UseCase, Reducer(Store) λ±κ³Ό κ°μ ν΅μ¬ κ°μ²΄λ€μ DIContainerμμ μμ±νκ³ κ΄λ¦¬νλ©°, Environment λλ Resolverλ₯Ό ν΅ν΄ νμν κ°μ²΄λ₯Ό μ£Όμ
λ°μ μ¬μ© |
| 67 | + |
| 68 | +`Design System` |
| 69 | +- λμμΈκ³Ό κ΄λ ¨λ νμΌ, μμ€λ€μ΄ λͺ¨μ¬μλ λͺ¨λ |
| 70 | +- λΉμ¦λμ€ λ‘μ§κ³Ό μ°κ΄ μμ΄ λμμΈλ§ μ μλμ΄ μλ λͺ¨λ |
| 71 | + |
| 72 | +--- |
| 73 | +### Main Features |
| 74 | +- λ‘κ·ΈμΈ |
| 75 | + - μμ
λ‘κ·ΈμΈ μ§μ (μΉ΄ν‘ / μ ν) |
| 76 | +- νΈλ μ΄λ |
| 77 | + - ν |
| 78 | + - μμ
μΆκ° λ° μΌμ νμΈ |
| 79 | + - μμ
κ΄λ¦¬ |
| 80 | + - νΌλλ°± |
| 81 | + - νΈλ μ΄λκ° λ³΄λΈ νΌλλ°±μ νμΈνκ³ νΌλλ°± μ μ‘ |
| 82 | + - νμ λͺ©λ‘ |
| 83 | + - νμμ μ°κ²° λ° ν΄μ |
| 84 | + - νμ μ΄λ |
| 85 | + - λ΄μ 보 |
| 86 | + - λ‘κ·Έμμ λ° νν΄ |
| 87 | + - λ΄μ 보 νμΈ |
| 88 | +- νΈλ μ΄λ |
| 89 | + - ν |
| 90 | + - μμ
κ΄λ¦¬ λ° μ΄λ κΈ°λ‘ |
| 91 | + - μλ¨ κΈ°λ‘ |
| 92 | + - λ΄μ 보 |
| 93 | + - λ‘κ·Έμμ λ° νν΄ |
| 94 | + - λ΄μ 보 νμΈ |
| 95 | + |
| 96 | +--- |
| 97 | +### App Images |
| 98 | + |
| 99 | +| νΈλ μ΄λ ν | `νΈλ μ΄λ ν` | `λ΄μ 보` | `νΈλ μ΄λ μλ¨κΈ°λ‘` | |
| 100 | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| 101 | +| <img src="https://raw.githubusercontent.com/YAPP-Github/TnT-iOS/refs/heads/TNT-294-ReadMe/TnT/Photos/%E1%84%90%E1%85%B3%E1%84%85%E1%85%A6%E1%84%8B%E1%85%B5%E1%84%82%E1%85%B5_%E1%84%92%E1%85%A9%E1%86%B7.PNG" width="143" height="300"> | <img src="https://raw.githubusercontent.com/YAPP-Github/TnT-iOS/refs/heads/TNT-294-ReadMe/TnT/Photos/%E1%84%90%E1%85%B3%E1%84%85%E1%85%A6%E1%84%8B%E1%85%B5%E1%84%82%E1%85%A5_%E1%84%92%E1%85%A9%E1%86%B7.PNG" width="143" height="300"><br><br><br> | <img src="https://raw.githubusercontent.com/YAPP-Github/TnT-iOS/refs/heads/TNT-294-ReadMe/TnT/Photos/%E1%84%90%E1%85%B3%E1%84%85%E1%85%A6%E1%84%8B%E1%85%B5%E1%84%82%E1%85%A5_%E1%84%82%E1%85%A2%E1%84%8C%E1%85%A5%E1%86%BC%E1%84%87%E1%85%A9.jpeg" width="143" height="300"> | <img src="https://raw.githubusercontent.com/YAPP-Github/TnT-iOS/refs/heads/TNT-294-ReadMe/TnT/Photos/%E1%84%90%E1%85%B3%E1%84%85%E1%85%A6%E1%84%82%E1%85%B5%E1%84%8B%E1%85%B5_%E1%84%89%E1%85%B5%E1%86%A8%E1%84%83%E1%85%A1%E1%86%AB%E1%84%80%E1%85%B5%E1%84%85%E1%85%A9%E1%86%A8.PNG" width="143" height="300"> | |
| 102 | +| | | | | |
0 commit comments