15 Commits

Author SHA1 Message Date
2508275714 Implemented the public LocationsService service. 2023-04-10 17:29:43 +02:00
c3e0d86870 Implemented the LocationsClient client. 2023-04-10 16:45:37 +02:00
c1a2acb248 Implemented the MockURLProtocol protocol for mocking URL responses. 2023-04-10 16:18:10 +02:00
35c2340a9b Forgot to implement the initialiser and make the "callAsFunction(endpoint: )" function public in the MakeURLrequestUseCase use case. 2023-04-10 15:23:20 +02:00
324a82a8e7 Defined the iOS minimum platform requirement for the Libraries package. 2023-04-10 15:11:28 +02:00
4f25f19833 Implemented the MakeURLRequestUseCase use case. 2023-04-10 15:10:50 +02:00
128d11a3cf Implemented the GetLocationsEndpoint endpoint. 2023-04-10 14:31:49 +02:00
e1e5a9a36d Declared the Endpoint protocol and the HTTPRequestMethod enumeration. 2023-04-10 13:42:37 +02:00
30b84f735b Defined the APICore library in the Libraries package for the Locations target. 2023-04-10 12:59:50 +02:00
e925048aa8 Implemented the Location model. 2023-04-10 12:35:18 +02:00
74b30733df Defined the Locations library in the Libraries package for the Locations target. 2023-04-10 12:26:23 +02:00
14e39a40ae [Setup] Locations app (#3)
This PR contains the work done to setup the Locations app and lay the basis to start working on it.

To give further details on what was done:
- [x] defined the app icon asset;
- [x] defined the color and image assets to use on the **Launch** screen;
- [x] implemented the **Launch** screen on storyboard due to the issues encountered while trying to define the launch screen directly from the `Info.plist`;
- [x] removed the **Main** storyboard from the `Locations` target;
- [x] implemented the manual loading of the `ViewController` view controller from the `SceneDelegate` delegate;
- [x] fixed the product bundle identifier of the `Locations` target.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: rock-n-code/deep-linking-assignment#3
2023-04-09 18:47:10 +00:00
6d76ba467c [Feature] Enhance the places deep linking support in the Wikipedia app to support coordinates (#2)
This PR contains the work done to add support to the **Wikipedia** app to show a custom location in the map of the *Places* view coming from a places deep link.

To provide further details about the work:
- [x] implemented the handling of location coordinates coming from a URL inside the function that generates a `NSUSerActivity` instance out of *places* deep links;
- [x] added the `wmf_locationFromURL` property to the `NSUSerActivity` via an extension that returns a `CLLocation` instance with latitude and longitude coordinates if provided;
- [x] implemented the "centerMap(onLocation:)" function in the `PlacesViewController` view controller that, essentially, center the map of this view controller to a given location;
- [x] improved the handling of a *places* user activity in the `WMFAppViewController` view controller to center the map in case a location has been provided via a deep link;
- [x] fixed some duplicated code that was blocking the test from compiling.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: rock-n-code/deep-linking-assignment#2
2023-04-09 16:27:53 +00:00
9bcdaa697b [Setup] Basic project structure (#1)
This PR contains all the work related to setting up this project as required to implement the [Assignment](https://repo.rock-n-code.com/rock-n-code/deep-linking-assignment/wiki/Assignment) on top, as intended.

To summarise this work:
- [x] created a new **Xcode** project;
- [x] cloned the `Wikipedia` app and inserted it into the **Xcode** project;
- [x] created the `Locations` app and also, its `Libraries` package;
- [x] created the `Shared` package to share dependencies between the apps;
- [x] added a `Makefile` file and implemented some **environment** and **help** commands.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: rock-n-code/deep-linking-assignment#1
2023-04-08 18:37:13 +00:00
365387ae0c Initial commit 2023-04-07 09:16:48 +00:00