Outreachy: Difference between revisions

106 bytes added ,  12 September 2016
reformatting because Wikitext
(Kinto project Outreachy)
(reformatting because Wikitext)
Line 97: Line 97:
We at Mozilla Security Engineering give you the opportunity to improve Firefox.  We are an equal opportunity employer and value diversity. We do not discriminate  on the basis of race, religion, color, national origin, gender, sexual  orientation, age, marital status, veteran status, or disability status.
We at Mozilla Security Engineering give you the opportunity to improve Firefox.  We are an equal opportunity employer and value diversity. We do not discriminate  on the basis of race, religion, color, national origin, gender, sexual  orientation, age, marital status, veteran status, or disability status.


=== taskcluster-cli go implementation ===
==== taskcluster-cli go implementation ====


* Mentors: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa] & [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen]
* Mentors: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa] & [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen]


==== Background ====
===== Background =====


Mozilla is a company that is strongly committed to inclusion and diversity.
Mozilla is a company that is strongly committed to inclusion and diversity.
Line 118: Line 118:
rewritten in [https://golang.org/ Golang].
rewritten in [https://golang.org/ Golang].


==== Project ====
===== Project =====


The goal of this project is to implement the main features to the new
The goal of this project is to implement the main features to the new
Line 152: Line 152:
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:
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.
* 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 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.
* 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.
* 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.
* 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.
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 .
You can learn more about Kinto at [http://kinto.readthedocs.io/en/stable/ the Kinto Readthedocs page] and [https://github.com/Kinto/kinto its Github page].
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.
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 Kinto easy-pick bugs] and [https://github.com/Kinto/kinto-http.py/issues?q=is%3Aissue+is%3Aopen+label%3Aeasy-pick kinto-http.py easy-pick bugs].
You can find us in #kinto on Freenode or on Slack at https://kinto.slack.com/ .
You can find us in #kinto on Freenode or on Slack at https://kinto.slack.com/ .


30

edits