14 Commits

Author SHA1 Message Date
cb5b4743f2 Implemented the "persistence" and "remote" properties of the DependencyService service in the Dependency+Keys extension. 2023-04-11 23:52:52 +02:00
b73a8e1010 Implemented the coordinator flow for LocationsList and LocationAdd screens. 2023-04-11 23:34:07 +02:00
b9417244a4 Work done so far in the app architecture setup. 2023-04-11 21:36:16 +02:00
9b14b79ea2 Defined the LocationsListCoordinable protocol and conformed the LocationsListCoordinator coordinator to it. 2023-04-11 21:12:03 +02:00
8deadffe2a Created the LocationsAddViewController view controller. 2023-04-11 19:36:55 +02:00
2d068de8ed Created the LocationsAddViewModel view model. 2023-04-11 19:36:36 +02:00
0dfbe62603 Moved the LocationsListViewModel view model and LocationsListViewController view controller into its own folder inside the Screens group. 2023-04-11 19:35:23 +02:00
a55ba672da Implemented a bare-bone LocationsListsCoordinator coordinator. 2023-04-11 19:23:12 +02:00
229bd1b878 Renamed the ViewController view controller as LocationsListViewController and conformed it to the View protocol from the Core library. 2023-04-11 19:21:52 +02:00
0fe40095c7 Created the LocationsListViewModel view model. 2023-04-11 19:20:25 +02:00
c3fc42d724 Removed the SceneDelegate delegate. 2023-04-11 18:11:57 +02:00
4210df9eb6 [Libraries] Persistence (#5)
This PR contains the work that implements the Persistence service, which is used to store and serve the data of the application.

To give further details on what was done:
- [x] created the `Persistence`library into the **Libraries** package;
- [x] defined the `Location` model into the **Model** core data model;
- [x] implemented the `PersistenceService` service;
- [x] removed the core data stack boilerplate code from the `AppDelegate` and `SceneDelegate` delegates in the *Locations* target.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: rock-n-code/deep-linking-assignment#5
2023-04-10 22:59:58 +00: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
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