App lets you browse and search movies from TMDB
- Supports only iphones in portrait
- IOS >= 16
First really stable and configurable navigation API(NavigationStack), so no navigation migration is needed in the future(NavigationView is now deprecated)
>80% iphone use base will be available in less than half a year(Proof)
So when our product reaches the market IOS 16 will be widely distributed - Xcode 14.2(Works best with IOS 16 target)
- Install HomeBrew
- Install SwiftLint
brew install swiftlint
- Clone repo
- Open project, wait until all packages are fetched and installed
- Click run button
- Clean build folder(Product->Clean Build Folder)
- Clear SwiftPM chache(File->Packages->Reset Package Chaches)
- Supports Light/Dark mode
- SwiftPM modularization for scalability
- Resources(Colors, strings) generated via R.swift in separated package
It helps us move away string literals, make our code more clean and compile time safer - DI via Resolver
It has some SwiftUI injection features, it's ultralight and perfomant - TDD
- SwiftLint
Makes our code more clean, prevents stupid mistakes in PRs - MVVM
The best choice for SwiftUI
Low overhead
Scallable and testable - Fully SwiftUI app
Scallable UI out of box
Easy to reuse
Speeds up development
Easy to maintain and adapt - Combine
- Networking layer and models automatically generated from OpenAPI(Swagger) file via CreateAPI
It helps have consistent API over all project's platforms
It provides great scalability and adaptability to change
Saves time
- Add more tests
- Add error visualization
- Add network error handling
- Add more attractive loading visualization
- Extract models from TMDBClient into separate package
- Make openAPI generated models code more clean
- Fix some not working previews(some bug with Resolver)
UI is similar to design photos provided, but app uses navigation bar from IOS 15(It looks better)
But it's possible to configure navigation bar old style(IOS<15)