Changes

Jump to: navigation, search

Outreachy

2,500 bytes added, 19:15, 12 September 2016
Kinto project Outreachy
* ES6
* Web APIs
 
==== Add support for OpenAPI to Kinto ====
 
* Mentors: [https://mozillians.org/en-US/u/ethan.glasser.camp/ Ethan Glasser-Camp] (glasserc on IRC) and Rémy Hubscher (natim on IRC)
 
Kinto has a fairly comprehensive set of documentation that describes its API. However, the cool new thing is OpenAPIs (formerly known as Swagger). Documenting our API using this specification would facilitate the implementation of client libraries in other languages as well as open the door to lots of other projects, including "interactive" documentation which has buttons that launch requests against a live server.
 
The Kinto team is seeking an intern to work on developing OpenAPI support in Kinto. This project is ideal for an Outreachy intern because it is self-contained and doesn't require understanding a complicated ecosystem of services (unlike our previous "Push Notifications" project).
 
We have structured the project to have multiple tasks. We do not expect any intern to finish every task; instead, we can draw tasks from this reservoir according to your momentum. These tasks are:
 
- Document the existing API by writing an OpenAPI specification. This will involve reading the existing documentation and experimenting with the Kinto server.
- Add runnable examples to the documentation. This will involve comparative analyses of available tools as well as working with our Sphinx-based documentation.
- Add an automated test that detects when the spec is out-of-date. This would involve working with our py.test-based unit testing suite.
- Write a mechanism to generate an OpenAPI specification from the Kinto source code. This would require writing Python code that hooks into the server code to identify APIs.
- Investigate the use of the OpenAPI specification to do fuzz-testing against the Kinto server. This would require an investigation of fuzzing tools and learning how to use them in a customized way.
 
Interns should understand back-end REST services and be skilled in reading and writing Python. You should be able to use Git and run Python code.
 
You can learn more about Kinto at http://kinto.readthedocs.io/en/stable/ and https://github.com/Kinto/kinto .
If you need a "small contribution" for your application, some suggestions are at https://github.com/Kinto/kinto/issues?q=is%3Aopen+is%3Aissue+label%3Aeasy-pick and https://github.com/Kinto/kinto-http.py/issues?q=is%3Aissue+is%3Aopen+label%3Aeasy-pick.
You can find us in #kinto on Freenode or on Slack at https://kinto.slack.com/ .
==Outreachy Program Cohort: Round 12 (May-August 2016)==
30
edits

Navigation menu