Testio App is a simple app with 2 screen based on Swift language
For the app realizatdion I have tried to use MVVM + Coordinator pattern
Architecture with Realm
as a persistent layer to store servers.
After getting Bearer token
this token will be saved in keychain and the app will ask backend for servers
or present servers
from Realm db
Dip
- Dependency Injection ContainerIQKeyboardManagerSwift
- Helper for working with keyboard and TextFeildKeychainAccess
- Wrapper for Keychainnetfox
- Small tool for observing all apu calls in the app (3rd party libs as well)Realm, RealmDatabase
- DataBase for storing data in localRxDataSource
- Reactive helper for working with UITableView, UICollectionView ...RxGesture
- Reactive helper for handling any interactions with UIViewRxSwift
- Main Reactive libSwiftLint
- main helper for checking code style
Testio
- main folderScenes
- Contains screensCoordinators
- Contains Coordinator entitiesDip
- Contains dependency containersExtensions
- Contains Extensions for entitiesServices
- Contains and Wrappers under the main lib (Keychain, URLSession...)NetworkLayer
- Contains entities to work with Network Api CallsModel
- Contains entities to represent modelsCommon
- Contains entities shared in the app
TextioTests
- contains tests for Testio.
- Login screen
- Servers List screen
Design in figma was deleted 😕
I think that you know what to do 😎🤩