Skip to content

Commit 8481261

Browse files
committedOct 18, 2024
crate code base sample build using Clean Architecture
0 parents  commit 8481261

File tree

114 files changed

+5371
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+5371
-0
lines changed
 

‎.gitignore

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# Xcode
2+
#
3+
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4+
5+
## Build generated
6+
build/
7+
DerivedData/
8+
9+
## Various settings
10+
*.pbxuser
11+
!default.pbxuser
12+
*.mode1v3
13+
!default.mode1v3
14+
*.mode2v3
15+
!default.mode2v3
16+
*.perspectivev3
17+
!default.perspectivev3
18+
xcuserdata/
19+
20+
## Other
21+
*.moved-aside
22+
*.xcuserstate
23+
*.DS_Store
24+
vendor/
25+
.bundle/
26+
.localio.yml
27+
28+
## Obj-C/Swift specific
29+
*.hmap
30+
*.ipa
31+
*.dSYM.zip
32+
*.dSYM
33+
34+
# CocoaPods
35+
#
36+
# We recommend against adding the Pods directory to your .gitignore. However
37+
# you should judge for yourself, the pros and cons are mentioned at:
38+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
39+
#
40+
Pods/
41+
42+
# Carthage
43+
#
44+
# Add this line if you want to avoid checking in source code from Carthage dependencies.
45+
# Carthage/Checkouts
46+
47+
Carthage/Build
48+
49+
# fastlane
50+
#
51+
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
52+
# screenshots whenever they are needed.
53+
# For more information about the recommended setup visit:
54+
# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
55+
56+
fastlane/report.xml
57+
fastlane/screenshots
58+
59+
# Code Injection
60+
#
61+
# After new code Injection tools there's a generated folder /iOSInjectionProject
62+
# https://github.com/johnno1962/injectionforxcode
63+
64+
iOSInjectionProject/
65+
66+
# OS X
67+
*.DS_Store
68+
.AppleDouble
69+
.LSOverride
70+
71+
# Icon must end with two \r
72+
Icon
73+
74+
75+
# Thumbnails
76+
._*
77+
78+
# Files that might appear in the root of a volume
79+
.DocumentRevisions-V100
80+
.fseventsd
81+
.Spotlight-V100
82+
.TemporaryItems
83+
.Trashes
84+
.VolumeIcon.icns
85+
.com.apple.timemachine.donotpresent
86+
87+
# Directories potentially created on remote AFP share
88+
.AppleDB
89+
.AppleDesktop
90+
Network Trash Folder
91+
Temporary Items
92+
.apdisk

‎AwsomeChatRx/.swiftlint.yml

+195
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
reporter: "xcode" # reporter type (xcode, json, csv, checkstyle, junit, html, emoji)
2+
3+
excluded: # paths to ignore during linting. Takes precedence over `included`.
4+
- Carthage
5+
- Pods
6+
- R.generated.swift
7+
8+
disabled_rules: # rule identifiers to exclude from running
9+
- trailing_whitespace
10+
- force_cast
11+
- force_unwrapping
12+
- force_try
13+
- empty_enum_arguments
14+
- overridden_super_call
15+
- sorted_imports
16+
- type_name
17+
# - colon # Default configuration: warning, flexible_right_spacing: false, apply_to_dictionaries: true
18+
# - comma # Default configuration: warning
19+
# - opening_brace
20+
# - todo
21+
# - empty_parentheses_with_trailing_closure
22+
# - empty_string
23+
# - unused_closure_parameter
24+
# - unused_setter_value
25+
# - unused_optional_binding
26+
# - redundant_void_return
27+
# - void_return
28+
# - redundant_string_enum_value
29+
# - redundant_objc_attribute
30+
# - closure_parameter_position
31+
# - control_statement
32+
# - notification_center_detachment
33+
# - legacy_constructor
34+
# - for_where
35+
# - unneeded_break_in_switch
36+
# - implicit_getter
37+
# - duplicate_imports
38+
# - trailing_newline
39+
40+
opt_in_rules: # some rules are only opt-in
41+
# - missing_docs
42+
- yoda_condition # Default configuration: warning
43+
- empty_count # Default configuration: error, only_after_dot: false
44+
- empty_string # Default configuration: warning
45+
- closure_end_indentation # Default configuration: warning
46+
- closure_spacing # Default configuration: warning
47+
- explicit_init # Default configuration: warning
48+
- first_where # Default configuration: warning
49+
- number_separator # Default configuration: warning, minimum_length: 0
50+
- explicit_failure_calls
51+
- fatal_error_message
52+
# - extension_access_modifier
53+
# - implicitly_unwrapped_optional
54+
# - operator_usage_whitespace
55+
- vertical_parameter_alignment_on_call
56+
- multiline_parameters
57+
# - multiple_empty_lines # Defined into custom roles
58+
- nesting
59+
60+
- private_outlet
61+
- prohibited_super_call
62+
- protocol_property_accessors_order
63+
- redundant_nil_coalescing
64+
- syntactic_sugar
65+
- comments_space
66+
- comments_capitalized_ignore_possible_code
67+
- comments_capitalized_find_possible_code
68+
69+
line_length:
70+
warning: 300
71+
error: 350
72+
ignores_function_declarations: true
73+
ignores_comments: true
74+
ignores_urls: true
75+
76+
function_body_length:
77+
warning: 80
78+
error: 150
79+
80+
function_parameter_count:
81+
warning: 4
82+
error: 6
83+
84+
type_name: # class name
85+
min_length: 3
86+
max_length:
87+
warning: 60
88+
error: 80
89+
excluded:
90+
- R
91+
- project
92+
- color
93+
- font
94+
- image
95+
- size
96+
- style
97+
- type
98+
- types
99+
- info
100+
- uiApplicationSceneManifest
101+
102+
type_body_length:
103+
warning: 300
104+
error: 500
105+
106+
file_length:
107+
warning: 500
108+
error: 800
109+
ignore_comment_only_lines: true
110+
111+
identifier_name: # Variable name
112+
allowed_symbols: "_"
113+
min_length: 1
114+
max_length:
115+
warning: 60
116+
error: 80
117+
excluded:
118+
- id
119+
- URL
120+
- GlobalAPIKey
121+
- R
122+
- R1
123+
- R2
124+
- R3
125+
126+
vertical_whitespace: # warning, max_empty_lines: 1
127+
max_empty_lines: 3
128+
129+
large_tuple:
130+
warning: 4
131+
error: 5
132+
133+
private_outlet:
134+
allow_private_set: true
135+
136+
#nesting:
137+
# type_level:
138+
# warning: 3
139+
# error: 6
140+
# statement_level:
141+
# warning: 5
142+
# error: 10
143+
144+
number_separator:
145+
minimum_length: 8
146+
147+
#cyclomatic complexity below 4 is considered good;
148+
#cyclomatic complexity between 5 and 7 is considered medium complexity,
149+
#between 8 and 10 is high complexity,
150+
#and above that is extreme complexity.
151+
cyclomatic_complexity:
152+
ignores_case_statements: true
153+
warning: 7
154+
error: 11
155+
156+
custom_rules:
157+
comments_space: # From https://github.com/brandenr/swiftlintconfig
158+
name: "Space After Comment"
159+
regex: '(^ *//\w+)'
160+
message: "There should be a space after //"
161+
severity: warning
162+
163+
comments_capitalized_ignore_possible_code:
164+
name: "Capitalize First Word In Comment"
165+
regex: "(^ +// +(?!swiftlint)[a-z]+)"
166+
message: "The first word of a comment should be capitalized"
167+
severity: warning
168+
169+
explicit_failure_calls:
170+
name: “Avoid asserting ‘false’”
171+
regex: ‘((assert|precondition)\(false)’
172+
message: “Use assertionFailure() or preconditionFailure() instead.”
173+
severity: warning
174+
175+
multiple_empty_lines:
176+
name: "Multiple Empty Lines"
177+
regex: '((?:\s*\n){3,})'
178+
message: "There are too many line breaks"
179+
severity: error
180+
181+
force_https: # From https://github.com/Twigz/Game
182+
name: "Force HTTPS over HTTP"
183+
regex: "((?i)http(?!s))"
184+
match_kinds: string
185+
message: "HTTPS should be favored over HTTP"
186+
severity: warning
187+
188+
already_true:
189+
regex: "== true"
190+
message: "Don't compare to true, just use the bool value."
191+
192+
already_bool:
193+
regex: "== false"
194+
message: "Don't compare to false, just use !value."
195+

0 commit comments

Comments
 (0)
Please sign in to comment.