Skip to content

mobile-challenge submission (sksw)#59

Open
sksw wants to merge 14 commits intowvchallenges:masterfrom
sksw:master
Open

mobile-challenge submission (sksw)#59
sksw wants to merge 14 commits intowvchallenges:masterfrom
sksw:master

Conversation

@sksw
Copy link
Copy Markdown

@sksw sksw commented Jun 29, 2020

No description provided.

sksw added 14 commits June 26, 2020 19:39
- added gitignore
- created project
- dropped in some basic pods we will need
- Removed `Apollo` since we are using REST instead of GraphQL
- Added `Moya` in preparation for networking
- Modified scheme to only run unit-tests
- Added file loader to load data from fixtures
- Added unit tests for `Product` and `[Product]` parsing
- Added API definition
- Dropped in `SwiftLint` & lnting run-script
- Dropped in `SwiftyBeaver` for logging
- Moved log setup to its own file

- Switched to programmatically loading injected app-view-controller on launch
- Created UI-factories to instantiate view-controllers & perform property injection
- Built basic app-coordinator & view-controller to switch between flows based on state
- Created skeletons of product-list UI

- Added utility extensions for Rx & UIKit for readability

- Added `force_unwrapping` swiftlint rule
- Added custom rule to limit injection access
- Defined `ProductsDataServicing` protocol to facade `DataService` and make unit testing easier later
- Built fetch-products request, parsing, and update of in-memory cache
- Built mock for various scenarios of data-fetching using the `ProductsAPI`
- Fixed up access modifier inconsistencies
- Map to items from `Product` data type
- Wired up `DataService` to `ProductDataServicing`
- Built refresh mechanism in view-model
- Added some logs
- Added a refresh control
- Draw cells & refresh list
- Created Networking factory for standard instantiation of networking classes
- Added `Providable` protocol
- Dropped in postman collection
- Communicating language preferences to server side done via headers (last commit)
- Walkthrough of TODO's warnings
- Changed `APIKeys` to `AppSecrets`
- Added swift-lint rule to guard against `UIKit` imports
- Initial mind-dump into `README`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant