This repository has been archived by the owner on Jan 3, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d847681
commit 4903acf
Showing
2 changed files
with
21 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,29 @@ | ||
# food-services-aggregator-spec | ||
|
||
## Table of Contents | ||
1. [Overview](#Overview) | ||
2. [Getting Started](#Getting-Started) | ||
3. [Todo](#Todo) | ||
1. [Technologies](#Technologies) | ||
2. [Overview](#Overview) | ||
3. [Getting Started](#Getting-Started) | ||
|
||
## Overview | ||
This repository houses the endpoint specs for the food-services-aggregator server. The technology of choice is OpenAPI 3.0 because of it's community support and popularity. | ||
## Technologies | ||
- OpenAPI 3.0 | ||
- Java | ||
- Maven | ||
- OpenAPI Generator Maven Plugin | ||
- Github Actions | ||
- Github Pages | ||
|
||
On pushes to the main branch, three jobs take place. | ||
1. Server-side stubs and classes are generated for use in the server side and [published to a github package](https://github.com/adam-shamaa/food-services-aggregator-spec/packages/1277138) | ||
2. Client-side helpers and classes are generated for use on the client side and [published to a github package](https://github.com/adam-shamaa/food-services-aggregator-spec/pkgs/npm/food-services-aggregator-spec) | ||
3. A swagger-ui page is generated and published to [github pages](https://adam-shamaa.github.io/food-services-aggregator-spec/) | ||
## Overview | ||
This repository houses the backend API specs for the food-services-aggregator server. | ||
|
||
## Getting Started | ||
Make changes directly to [src/main/resources/openapi/openapi.yaml](https://github.com/adam-shamaa/food-services-aggregator-spec/blob/main/src/main/resources/openapi/openapi.yaml) | ||
|
||
## Improvements | ||
- Auto bump version (a super tedious thing that I forget too often) | ||
- Add ability to generate swagger ui on local development to act as preview (can simply copy and paste into an online tool but a nice to have) | ||
- Make use of libraries that merge smaller files into a single generated openapi spec file (easier to digest and maintain a structured director and small files) | ||
1. Make changes directly to the OpenAPI spec [src/main/resources/openapi/openapi.yaml](https://github.com/adam-shamaa/food-services-aggregator-spec/blob/main/src/main/resources/openapi/openapi.yaml) | ||
|
||
Also update the mvn and npm package version by incrementing the OpenAPI spec version (package versions are inherited from the OpenAPI spec version) | ||
2. You can preview the generated artifacts by running `mvn clean compile` then looking under `target/generated-sources/` | ||
|
||
|
||
On pushes to the main branch, three jobs take place. | ||
1. Server-side stubs and classes are generated and [published as a github mvn apache package](https://github.com/adam-shamaa/food-services-aggregator-spec/packages/1277138) | ||
2. Client-side helpers and classes are generated and [published as a github npm package](https://github.com/adam-shamaa/food-services-aggregator-spec/pkgs/npm/food-services-aggregator-spec) | ||
3. Swagger-ui page is generated and published to [github pages](https://adam-shamaa.github.io/food-services-aggregator-spec/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters