This is a UIKit project. The main goal of the project is to create a simple Login-Onboarding and Landing page app, with a tab bar and UINavigationController for each inner tab layer THe app was build with MVP design patter , protocols DI for all the classes dependencies and Unit Tests for the Landing Page - Presenter and Datasource(Networking Layer)
- Username - Any non empty string
- Password - 1234
- Data model - DI - Delegates
- UIKit - Programmatic declaration of View
- UIKit - Interfacec Builder for creation of views - xib files
- Navigation Controller, TabBarController , UITableView, UIPageViewController
- MVP Design Pattern
- User Defaults
- Protocols for Mocking (UnitTestable)
- Unit Testings for the Service(DataSource) and the Presenter
- Mocking of the services for better testing practices - disconnect the test from the real API call
- Get data from a JSON url response (Get Mapping)
- JSON Decoder
- Asycn/Await Swift Concurrency (for handling asynchronous calls)
- Login Page (mock validation)
- Onboarding Page (Page view )
- Displaying correctly the data from the GET call
- Scrollable view of the results ( Table View)
- [@nikosgalinos]