Skip to content

Commit 89c2a87

Browse files
Add "OpenAPI integration with DocC" GSoC project idea
1 parent 7694075 commit 89c2a87

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

gsoc2025/index.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,38 @@ Enhance Swift Testing's reporting of test results to the console/terminal. Consi
303303

304304
- [Stuart Montgomery](https://github.com/stmontgomery)
305305

306+
### OpenAPI integration with DocC
307+
308+
**Project size**: 350 hours (large)
309+
310+
**Estimated difficulty**: Intermediate
311+
312+
**Recommended skills**
313+
314+
- Basic proficiency in Swift.
315+
- Basic knowledge in HTTP APIs.
316+
317+
**Description**
318+
319+
[OpenAPI](https://www.openapis.org/) is a standard for documenting HTTP services. It allows creating documents in YAML or JSON format that can be utilized by various tools to automate workflows, such as generating the required code for sending and receiving HTTP requests.
320+
321+
OpenAPI is known for its tooling to generate documentation, but in the Swift ecosystem, developers are already familiar with how [DocC](https://github.com/swiftlang/swift-docc) renders documentation for Swift and Objective-C APIs. To enhance consistency and improve the developer experience, we aim to extend DocC’s support to OpenAPI documents.
322+
323+
**Expected outcomes/benefits/deliverables**
324+
325+
As part of the Google Summer of Code project, the student will develop a library/tool that can generate DocC documentation from an OpenAPI document.
326+
327+
Strech goals:
328+
329+
* Integrate the tool into the [Swift OpenAPI Generator](https://github.com/apple/swift-openapi-generator).
330+
* Create OpenAPI Doc to DocC Live Preview plugin for VS Code.
331+
332+
**Potential mentors**
333+
334+
- [Sofía Rodríguez](https://github.com/sofiaromorales)
335+
- [Si Beaumont](https://github.com/simonjbeaumont)
336+
- [Honza Dvorsky](https://github.com/czechboy0)
337+
306338
### Example project name
307339

308340
**Project size**: N hours

0 commit comments

Comments
 (0)