13 Commits

Author SHA1 Message Date
6518386444 Added the .vscode folder to the .gitignore file. 2023-04-29 00:53:48 +02:00
92c4aa7c2a Updated the Swift tools version in the Package file to v5.7. 2023-04-29 00:53:22 +02:00
95fa09b7a1 Updated the SwiftLibs dependency to its latest release. 2023-04-29 00:50:52 +02:00
36eecc15fb [Tweaks] DocC documentation (#15)
This PR contains the work done to address the issue #14, that recommends some tweaks to the generated documentation targeting Xcode and Github pages.

To provide further details about the work done:
- [x] written the *Getting Started* article in the documentation catalog;
- [x] written the *AmiiboService* article in the documentation catalog;
- [x] updated the text of the `README` file;
- [x] downgraded the Swift tool version in the `Package` file to v5.5;
- [x] added the missing header file to the `Package` file;
- [x] updated the `SwiftLibs` package dependency to its latest release;
- [x] re-generated the documentation targeting Xcode and Github pages.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #15
v1.0.1
2023-04-25 14:29:23 +00:00
a51fab18ba [Setup] DocC (#13)
This PR contains the work done to address the issue #11, related to setting up DocC documentation in this project.

To provide further details about the work done:
- [x] created the documentation catalog for the project in Xcode;
- [x] added the `Swift-DocC-Plugin` dependency to the `Package` file;
- [x] implemented documentation preview, generation and cleanup workflows in the `Makefile` file;
- [x] generated documentation for Xcode and Github pages;
- [x] added the package logo assets to the project;
- [x] integrated the package logo assets to the `README` file, with support for both light and dark color schemes;
- [x] added the `.env` file to the `.gitignore` file.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #13
v1.0.0
2023-04-24 15:07:21 +00:00
cc34186d53 [Setup] License (#12)
This PR contains the work done to addres the issue #8, related to setting up a EUPL 1.2 license for this project.

To provide further details about the work done:
- [x] defined the LICENSE text;
- [x] defined the CONTRIBUTORS text;
- [x] added a header file to source code available in this project.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #12
2023-04-23 13:57:49 +00:00
c4a25afad4 [Setup] Documentation (#10)
This PR contains the work done to address the issue #7, related to documenting the source code that would be used for other developers.

To provide further details about the work done:
- [x] restructured the hierarchy of some models that are related to the `Amiibo` model;
- [x] written documentation for the `AmiiboService` service;
- [x] written documentation for the `AmiiboFilter` and `KeyNameFilter` filters;
- [x] written documentation for the `Amiibo`, `KeyName`, `LastUpdated` and children model;
- [x] written documentation for the `AmiiboClientError` error;
- [x] written documentation for the README file.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #10
2023-04-23 13:16:22 +00:00
a0dcdf7673 [Tweaks] Models (#5)
This PR contains the work done to make improvements to the existing models.

To provide further details about the work done:
- [x] moved the `games3DS`, `gamesWiiU` and `gamesSwitch` properties from the `Amiibo` model to their own `Games` child model;
- [x] improved the decoding of the `Result` model.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #5
2023-04-21 21:47:55 +00:00
f34ce5289d [Feature] Service (#4)
This PR contains the work done to implement the actual public service interface to the Amiibo API.

To provide further details about this work:
- [x] defined a `Filter` protocol;
- [x] implemented the `AmiiboFilter` and the `KeyNameFilter` filters;
- [x] implemented the `Result` model;
- [x] defined the `Service` protocol;
- [x] implemented the `AmiiboService` concrete service;
- [x] fixed the `path` of the `GetAmiiboEndpoint` endpoint;
- [x] made the `usage` property of the `Game` model optional;
- [x] replaced the `showGames` and the `showUsage` flags of the `AmiiboFilter` filter with an enumeration.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #4
2023-04-21 18:16:38 +00:00
68acf82f9d [Feature] Client (#3)
This PR contains the work done to implement the `AmiiboClient` struct that conforms to the `Client` protocol coming from the **Communications** library of the [SwiftLibs package](https://github.com/rock-n-code/swift-libs)

To provide further detailks about the work done:
- [x] added the `parameters` property to all the existing endpoints;
- [x] implemented the `AmiiboClient` client and the `AmiiboClientError` error;
- [x] implemented some static formatters in the `DateFormatter+Formatter` extension;
- [x] updated the `SwiftLibs` package to its latest version.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #3
2023-04-19 14:33:48 +00:00
e12fce9ddc [Feature] All endpoints (#2)
This PR contains the work done in implementing the endpoints needed for the remote calls: `GetAmiiboEndpoint`, `GetTypeEndpoint`, `GetGameSeriesEndpoint`, `GetSeriesEndpoint`, `GetSeriesEndpoint` and `GetLastUpdatedEndpoint` endpoints definitions. Furthermore, I added the the **SwiftLibs** package as a dependency and also, I defined constants for `String+Scheme`, `String+Host` and the `String+Path` extensions.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #2
2023-04-18 20:03:12 +00:00
29f766ebdb [Feature] Models of the service (#1)
This PR contains the implementation of all the models used by this service: `Amiibo`, `Amiibo.Game`, `Amiibo.Release`, `Amiibo.Usage`, `KeyName` and `LastUpdated`.

Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #1
2023-04-18 18:37:08 +00:00
472ed2c068 Initial Commit 2023-04-18 19:44:24 +02:00