Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Entrega desafío #42

Open
wants to merge 44 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
207be1b
Basic project setup
pedro-rothen Jul 23, 2024
4343bb5
Swiftlint
pedro-rothen Jul 23, 2024
4180723
Data and remote data source layers
pedro-rothen Jul 24, 2024
69ed111
Local data source
pedro-rothen Jul 24, 2024
a9346e3
Getting data to presentation layer
pedro-rothen Jul 24, 2024
fb76903
Popular movies collectionview
pedro-rothen Jul 24, 2024
a0a2dfd
Favorites
pedro-rothen Jul 25, 2024
d8ddb71
sync favorites between screens
pedro-rothen Jul 26, 2024
9517640
Coordinators. Setting up scrollview movie detail
pedro-rothen Jul 26, 2024
4ca73b4
Local query filter
pedro-rothen Jul 26, 2024
0353c2f
Data layer refactor
pedro-rothen Jul 27, 2024
ac5af4e
Sync remote genres
pedro-rothen Jul 27, 2024
d62bde6
.gitignore updated
pedro-rothen Jul 27, 2024
7e25e0f
Movie genres, local data sources fixes
pedro-rothen Jul 27, 2024
9e4daac
Toggle favorite from movie detail
pedro-rothen Jul 27, 2024
3797327
Infinite movies scroll with indicator
pedro-rothen Jul 27, 2024
5b4d983
Filter favorites movies
pedro-rothen Jul 27, 2024
e01c77b
Remove filter
pedro-rothen Jul 27, 2024
f8ca4fb
ViewModels and coordinator to MainActor
pedro-rothen Jul 27, 2024
c3bf5b4
MovieServiceApiImplTests, json data mocks
pedro-rothen Jul 27, 2024
001cc8e
Get remote genres test
pedro-rothen Jul 27, 2024
74b4e72
Added missed year parser
pedro-rothen Jul 27, 2024
24732b3
Code coverage for Movies target only
pedro-rothen Jul 27, 2024
00f92ac
Genre local data source tests
pedro-rothen Jul 27, 2024
8267920
Genre local getbyids test
pedro-rothen Jul 27, 2024
504de62
MoviesViewModel tests
pedro-rothen Jul 27, 2024
ac367b0
Genre test fix, uitest and snapshot build configurations, schemes and…
pedro-rothen Jul 28, 2024
a577066
Setting up basic ui test
pedro-rothen Jul 28, 2024
dd30670
UItest, catched retry's button bug from test development
pedro-rothen Jul 28, 2024
b954bb3
MoviesVC snapshot tests
pedro-rothen Jul 28, 2024
14af644
SPM package resolved
pedro-rothen Jul 28, 2024
341afb9
Merge from tests
pedro-rothen Jul 28, 2024
d4850bc
Missing splash screen
pedro-rothen Jul 28, 2024
a07b537
App id updated, label no results fix
pedro-rothen Jul 29, 2024
bcb8bd4
SPM
pedro-rothen Jul 29, 2024
0c31635
Merge
pedro-rothen Jul 29, 2024
54e544e
SPM
pedro-rothen Jul 29, 2024
8fecb55
Core data auto generate code removed
pedro-rothen Jul 29, 2024
536001f
Favorite single item search fix. Storyboard auto generate file and co…
pedro-rothen Jul 29, 2024
a4b1c90
Bitrise UITest timeout possible fix
pedro-rothen Jul 29, 2024
b5ab2f6
Update README.md
pedro-rothen Jul 29, 2024
2065f29
Bitrise UI test possible fix
pedro-rothen Jul 29, 2024
07cad90
Merge branch 'master' of github.com:pedro-rothen/ios-recruiting-hsa
pedro-rothen Jul 29, 2024
351d911
Opening pull request
pedro-rothen Jul 29, 2024
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
67 changes: 67 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## User settings
xcuserdata/

# Keeps Package.resolved
!Movies.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

## Obj-C/Swift specific
*.hmap

## App packaging
*.ipa
*.dSYM.zip
*.dSYM

## Playgrounds
timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
# Package.resolved
# *.xcodeproj
#
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
# hence it is not needed unless you have added a package configuration file to your project
# .swiftpm

.build/

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/
#
# Add this line if you want to avoid checking in source code from the Xcode workspace
# *.xcworkspace

# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build/

# fastlane
#
# It is recommended to not store the screenshots in the git repo.
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/#source-control

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots/**/*.png
fastlane/test_output

.DS_Store
6 changes: 6 additions & 0 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
disabled_rules:
- trailing_whitespace

excluded:
- MoviesTests
- MoviesUITests
1,726 changes: 1,726 additions & 0 deletions Movies.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions Movies.xcodeproj/project.xcworkspace/contents.xcworkspacedata

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
{
"originHash" : "0a40754325281492dc0e2fa94b01b984b0597fc054b53c0f6fa741fe56248306",
"pins" : [
{
"identity" : "collectionconcurrencykit",
"kind" : "remoteSourceControl",
"location" : "https://github.com/JohnSundell/CollectionConcurrencyKit.git",
"state" : {
"revision" : "b4f23e24b5a1bff301efc5e70871083ca029ff95",
"version" : "0.2.0"
}
},
{
"identity" : "cryptoswift",
"kind" : "remoteSourceControl",
"location" : "https://github.com/krzyzanowskim/CryptoSwift.git",
"state" : {
"revision" : "c9c3df6ab812de32bae61fc0cd1bf6d45170ebf0",
"version" : "1.8.2"
}
},
{
"identity" : "ios-snapshot-test-case",
"kind" : "remoteSourceControl",
"location" : "https://github.com/uber/ios-snapshot-test-case.git",
"state" : {
"revision" : "7b10770333a961be6e5a41c9ce04b8c6d3990126",
"version" : "8.0.0"
}
},
{
"identity" : "kingfisher",
"kind" : "remoteSourceControl",
"location" : "https://github.com/onevcat/Kingfisher.git",
"state" : {
"revision" : "2ef543ee21d63734e1c004ad6c870255e8716c50",
"version" : "7.12.0"
}
},
{
"identity" : "sourcekitten",
"kind" : "remoteSourceControl",
"location" : "https://github.com/jpsim/SourceKitten.git",
"state" : {
"revision" : "fd4df99170f5e9d7cf9aa8312aa8506e0e7a44e7",
"version" : "0.35.0"
}
},
{
"identity" : "swift-argument-parser",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-argument-parser.git",
"state" : {
"revision" : "41982a3656a71c768319979febd796c6fd111d5c",
"version" : "1.5.0"
}
},
{
"identity" : "swift-syntax",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-syntax.git",
"state" : {
"revision" : "303e5c5c36d6a558407d364878df131c3546fad8",
"version" : "510.0.2"
}
},
{
"identity" : "swiftlint",
"kind" : "remoteSourceControl",
"location" : "https://github.com/realm/SwiftLint",
"state" : {
"revision" : "b515723b16eba33f15c4677ee65f3fef2ce8c255",
"version" : "0.55.1"
}
},
{
"identity" : "swiftytexttable",
"kind" : "remoteSourceControl",
"location" : "https://github.com/scottrhoyt/SwiftyTextTable.git",
"state" : {
"revision" : "c6df6cf533d120716bff38f8ff9885e1ce2a4ac3",
"version" : "0.9.0"
}
},
{
"identity" : "swxmlhash",
"kind" : "remoteSourceControl",
"location" : "https://github.com/drmohundro/SWXMLHash.git",
"state" : {
"revision" : "a853604c9e9a83ad9954c7e3d2a565273982471f",
"version" : "7.0.2"
}
},
{
"identity" : "yams",
"kind" : "remoteSourceControl",
"location" : "https://github.com/jpsim/Yams.git",
"state" : {
"revision" : "3036ba9d69cf1fd04d433527bc339dc0dc75433d",
"version" : "5.1.3"
}
}
],
"version" : 3
}
118 changes: 118 additions & 0 deletions Movies.xcodeproj/xcshareddata/xcschemes/Movies.xcscheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1540"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
buildArchitectures = "Automatic">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EB2D5E322C4FF89D0043A6EE"
BuildableName = "Movies.app"
BlueprintName = "Movies"
ReferencedContainer = "container:Movies.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<TestPlans>
<TestPlanReference
reference = "container:TestPlans/UnitTestPlan.xctestplan"
default = "YES">
</TestPlanReference>
</TestPlans>
<Testables>
<TestableReference
skipped = "NO"
parallelizable = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EB2D5E4B2C4FF89F0043A6EE"
BuildableName = "MoviesTests.xctest"
BlueprintName = "MoviesTests"
ReferencedContainer = "container:Movies.xcodeproj">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO"
parallelizable = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EB2D5E552C4FF89F0043A6EE"
BuildableName = "MoviesUITests.xctest"
BlueprintName = "MoviesUITests"
ReferencedContainer = "container:Movies.xcodeproj">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO"
parallelizable = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EB2D5F772C569A7A0043A6EE"
BuildableName = "MoviesSnapshotTests.xctest"
BlueprintName = "MoviesSnapshotTests"
ReferencedContainer = "container:Movies.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EB2D5E322C4FF89D0043A6EE"
BuildableName = "Movies.app"
BlueprintName = "Movies"
ReferencedContainer = "container:Movies.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EB2D5E322C4FF89D0043A6EE"
BuildableName = "Movies.app"
BlueprintName = "Movies"
ReferencedContainer = "container:Movies.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
Loading