Skip to content

Commit

Permalink
Merge branch 'release/1.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
ElonPark committed Aug 17, 2021
2 parents fd2ac99 + ccd7d40 commit 819ab6a
Show file tree
Hide file tree
Showing 220 changed files with 13,412 additions and 5 deletions.
13 changes: 10 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,8 @@ playground.xcworkspace
# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build/
**/Carthage/Checkouts/
**/Carthage/Build/

# Accio dependency management
Dependencies/
Expand All @@ -88,3 +87,11 @@ fastlane/test_output
# https://github.com/johnno1962/injectionforxcode

iOSInjectionProject/

.idea
node_modules
.DS_Store

**/Brewfile.lock.json
**/RIBsReactorKit.xcodeproj/*

Binary file added Docs/RIBsReactorKit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
39 changes: 37 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,39 @@
# RIBsReactorKit
RIBs + ReactorKit Sample

[RIBs](https://github.com/uber/RIBs)[ReactorKit](https://github.com/ReactorKit/ReactorKit) 조합하여 사용하기 위한 샘플
[RIBs](https://github.com/uber/RIBs) X [ReactorKit](https://github.com/ReactorKit/ReactorKit) PoC

<img src="./Docs/RIBsReactorKit.png" alt="RIBsReactorKit" width="500" />


### install

Required Xcode 12.5 or above
```shell
$ sh install.sh
```

---
## Use RIBsTreeViewer

### Installing

```
$ npm install yarn
```

### Starting the websocket server

```shell
$ cd ./RIBsTreeViewer/WebSocketServer
$ npx yarn install
$ node index.js
```

## Open the page.

```shell
$ cd ./RIBsTreeViewer/Browser
$ npx yarn install
$ npx webpack
$ open ./public/index.html
```
43 changes: 43 additions & 0 deletions RIBsReactorKit/.swiftformat
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
--swiftversion 5.4

# format options
--indent 2
--extensionacl on-extension
--modifierorder
--self init-only
--semicolons inline
--trailingclosures
--commas inline
--stripunusedargs closure-only
--maxwidth 120
--wrapparameters before-first
--wrapcollections before-first
--wrapconditions after-first
--funcattributes prev-line
--typeattributes prev-line
--varattributes prev-line
--ranges no-space
--xcodeindentation enabled
--patternlet hoist
--marktypes if-not-empty
--typemark "MARK: - %t"
--markextensions always
--extensionmark "MARK: - %t + %c"
--groupedextension "MARK: - %c"

# file options
--exclude Scripts, Carthage, Resource, **/Generated

# rules
--enable duplicateImports
--enable enumNamespaces
--enable isEmpty
--enable markTypes

--disable andOperator
--disable blankLinesAtStartOfScope
--disable redundantBackticks
--disable sortedSwitchCases
--disable redundantReturn
--disable void
--disable wrapMultilineStatementBraces
54 changes: 54 additions & 0 deletions RIBsReactorKit/.swiftlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
analyzer_rules:
- unused_declaration
- unused_import
disabled_rules: # 실행에서 제외할 룰 식별자들
- trailing_whitespace
- colon
- opening_brace
- nesting
opt_in_rules: # 일부 룰은 옵트 인 형태로 제공
- empty_count
- missing_docs
# 사용 가능한 모든 룰은 swiftlint rules 명령으로 확인 가능
included: # 린트 과정에 포함할 파일 경로. 이 항목이 존재하면 `--path`는 무시됨
- RIBsReactorKit/Source
excluded: # 린트 과정에서 무시할 파일 경로. `included`보다 우선순위 높음
- RIBsReactorKit/Source/Presentation/Utilities/R.generated.swift
- Pods
- Carthage
- Source/ExcludedFolder
- Source/ExcludedFile.swift
# 설정 가능한 룰은 이 설정 파일에서 커스터마이징 가능
# 경고나 에러 중 하나를 발생시키는 룰은 위반 수준을 설정 가능
# colon: error
force_cast: warning # 암시적으로 지정
force_try:
severity: warning # 명시적으로 지정
line_length: 120
function_parameter_count: 6
# 경고 및 에러 둘 다 존재하는 룰의 경우 값을 하나만 지정하면 암시적으로 경고 수준에 설정됨
# 값을 나열해서 암시적으로 양쪽 다 지정할 수 있음
type_body_length:
- 300 # 경고
- 400 # 에러
# 둘 다 명시적으로 지정할 수도 있음
file_length:
warning: 1000
error: 1200
# 네이밍 룰은 경고/에러에 min_length와 max_length를 각각 설정 가능
# 제외할 이름을 설정할 수 있음
type_name:
min_length: 3 # 경고에만 적용됨
max_length: # 경고와 에러 둘 다 적용
warning: 70
error: 80
excluded: # 제외할 문자열 값 사용
- iPhone
- ID
- UI
identifier_name:
min_length: # min_length에서
error: 2 # 에러만 적용
excluded: # 제외할 문자열 목록 사용
- id
- URL
9 changes: 9 additions & 0 deletions RIBsReactorKit/Brewfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/core"

brew "carthage"
brew "xcodegen"
brew "swiftgen"
brew "swiftlint"
brew "swiftformat"
31 changes: 31 additions & 0 deletions RIBsReactorKit/Cartfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# ReactiveX
github "ReactiveX/RxSwift" ~> 6.2
github "ElonPark/RxReachability" ~> 1.2

# Architecture
github "ElonPark/RIBs" "master"
github "ElonPark/ReactorKit" ~> 3.0

# Network
github "Alamofire/Alamofire" ~> 5.4
github "ElonPark/Moya" ~> 14.1
github "ashleymills/Reachability.swift" == 5.1.0

# Image
github "onevcat/Kingfisher" ~> 6.1

# UI
github "Juanpe/SkeletonView" ~> 1.13
github "RxSwiftCommunity/RxDataSources" ~> 5.0
github "ElonPark/RxViewController" ~> 2.0

# Layout
github "SnapKit/SnapKit" ~> 5.0

# ETC
github "ElonPark/EPLogger" ~> 1.3.5
github "ElonPark/RIBsTreeViewerClient" ~> 1.1

# Test
github "Quick/Quick" ~> 4.0
github "RxSwiftCommunity/RxNimble" ~> 5.1
19 changes: 19 additions & 0 deletions RIBsReactorKit/Cartfile.resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
github "Alamofire/Alamofire" "5.4.3"
github "ElonPark/EPLogger" "1.3.6"
github "ElonPark/Moya" "14.1.0"
github "ElonPark/RIBs" "724a0df3bb3bfb72490a4d757fe774aba18203db"
github "ElonPark/RIBsTreeViewerClient" "1.1.3"
github "ElonPark/ReactorKit" "3.0.2"
github "ElonPark/RxReachability" "1.2.2"
github "ElonPark/RxViewController" "2.0.1"
github "ElonPark/WeakMapTable" "1.2.1"
github "Juanpe/SkeletonView" "1.21.2"
github "Quick/Nimble" "v9.2.0"
github "Quick/Quick" "v4.0.0"
github "ReactiveCocoa/ReactiveSwift" "6.6.1"
github "ReactiveX/RxSwift" "6.2.0"
github "RxSwiftCommunity/RxDataSources" "5.0.1"
github "RxSwiftCommunity/RxNimble" "5.1.2"
github "SnapKit/SnapKit" "5.0.1"
github "ashleymills/Reachability.swift" "v5.1.0"
github "onevcat/Kingfisher" "6.3.1"
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
{
"images" : [
{
"filename" : "icon-40.png",
"scale" : "1x",
"idiom" : "ipad",
"size" : "40x40"
},
{
"size" : "40x40",
"idiom" : "ipad",
"scale" : "2x",
"filename" : "[email protected]"
},
{
"filename" : "[email protected]",
"size" : "60x60",
"scale" : "2x",
"idiom" : "iphone"
},
{
"idiom" : "ipad",
"size" : "72x72",
"filename" : "icon-72.png",
"scale" : "1x"
},
{
"size" : "72x72",
"filename" : "[email protected]",
"scale" : "2x",
"idiom" : "ipad"
},
{
"filename" : "icon-76.png",
"idiom" : "ipad",
"size" : "76x76",
"scale" : "1x"
},
{
"size" : "76x76",
"scale" : "2x",
"filename" : "[email protected]",
"idiom" : "ipad"
},
{
"idiom" : "ipad",
"filename" : "icon-small-50.png",
"size" : "50x50",
"scale" : "1x"
},
{
"size" : "50x50",
"idiom" : "ipad",
"scale" : "2x",
"filename" : "[email protected]"
},
{
"size" : "29x29",
"filename" : "icon-small.png",
"scale" : "1x",
"idiom" : "iphone"
},
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "2x",
"filename" : "[email protected]"
},
{
"idiom" : "iphone",
"size" : "57x57",
"filename" : "icon.png",
"scale" : "1x"
},
{
"idiom" : "iphone",
"scale" : "2x",
"size" : "57x57",
"filename" : "[email protected]"
},
{
"scale" : "3x",
"idiom" : "iphone",
"filename" : "[email protected]",
"size" : "29x29"
},
{
"filename" : "[email protected]",
"idiom" : "iphone",
"size" : "40x40",
"scale" : "3x"
},
{
"scale" : "3x",
"filename" : "[email protected]",
"idiom" : "iphone",
"size" : "60x60"
},
{
"scale" : "2x",
"idiom" : "iphone",
"size" : "40x40",
"filename" : "[email protected]"
},
{
"idiom" : "ipad",
"scale" : "1x",
"filename" : "icon-small.png",
"size" : "29x29"
},
{
"size" : "29x29",
"idiom" : "ipad",
"scale" : "2x",
"filename" : "[email protected]"
},
{
"idiom" : "ipad",
"scale" : "2x",
"filename" : "[email protected]",
"size" : "83.5x83.5"
},
{
"idiom" : "iphone",
"filename" : "[email protected]",
"scale" : "2x",
"size" : "20x20"
},
{
"idiom" : "iphone",
"filename" : "[email protected]",
"size" : "20x20",
"scale" : "3x"
},
{
"scale" : "1x",
"filename" : "notification-icon~ipad.png",
"idiom" : "ipad",
"size" : "20x20"
},
{
"filename" : "[email protected]",
"size" : "20x20",
"idiom" : "ipad",
"scale" : "2x"
},
{
"idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024",
"filename" : "ios-marketing.png"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 819ab6a

Please sign in to comment.