Difference between revisions of "Documentation"
(9 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | === Documentation === | ||
* [[Product_Opener_documentation|Product Opener documentation (web)]] | * [[Product_Opener_documentation|Product Opener documentation (web)]] | ||
− | * [[API|Old API documentation]] | + | * [[API|Old API documentation (deprecated)]] |
+ | * [https://openfoodfacts.github.io/openfoodfacts-server/api/ Latest version of the documentation] | ||
+ | |||
+ | {| class="wikitable sortable" | ||
+ | |+ Documentation of OFF codebases and APIs | ||
+ | |- | ||
+ | ! Product !! Doc !! Comment | ||
+ | |- | ||
+ | | Server code || [https://openfoodfacts.github.io/openfoodfacts-server/ Code doc] || Example | ||
+ | |- | ||
+ | | API || [https://github.com/openfoodfacts/api-documentation API doc] || Example | ||
+ | |- | ||
+ | | Android || [https://openfoodfacts.github.io/openfoodfacts-androidapp/ Code doc] || Example | ||
+ | |- | ||
+ | | Flutter || [https://openfoodfacts.github.io/smooth-app// Code doc] || Example | ||
+ | |- | ||
+ | | Dart package || [https://openfoodfacts.github.io/openfoodfacts-dart/ Code Doc] || Example | ||
+ | |- | ||
+ | | Python package || [https://openfoodfacts.github.io/openfoodfacts-python/ Doc] || Example | ||
+ | |- | ||
+ | | Robotoff (Python) || [https://openfoodfacts.github.io/robotoff/ Doc] || Example | ||
+ | |- | ||
+ | | iPhone || [https://github.com/openfoodfacts/openfoodfacts-ios/wiki/ Code Doc] || Example | ||
+ | |} | ||
=== 2021 Documentation roadmap === | === 2021 Documentation roadmap === | ||
Line 17: | Line 41: | ||
==== Improve the documentation ==== | ==== Improve the documentation ==== | ||
* Document assumptions and things we (d/w)on't do | * Document assumptions and things we (d/w)on't do | ||
+ | == Documentation projects == | ||
+ | |||
+ | === Create a developper page for OpenFoodFacts.org === | ||
+ | |||
+ | Goal: onboard prospective developpers and people wanting to use Open Food Facts in their app | ||
+ | |||
+ | - basic information about getting started as a contributor to the open source project | ||
+ | - rules around licence agreements, processes for pull requests and reviews, building the project, pointers to the Slack room, the API docs… | ||
+ | |||
+ | url: https://world.openfoodfacts.org/developers | ||
+ | source code: https://github.com/openfoodfacts/openfoodfacts-web | ||
+ | |||
+ | === Build a dedicated documentation site === | ||
+ | |||
+ | Build a central documentation site on a platform to be decided by the technical writer and open source mentor, and publish an initial set of basic documents on the site. Examples of platforms include: | ||
+ | |||
+ | * Read the Docs | ||
+ | * A static site generator such as Hugo, Jekyll, Sphinx, and more | ||
+ | * GitHub Pages | ||
+ | |||
+ | === Write conceptual overviews of the Open Food Facts products === | ||
+ | |||
+ | 1. Write a conceptual overview and introduction to the Open Food Facts server | ||
+ | - Explain the high level goals, the architecture, the libraries used, the known limitations and the high level wishlist | ||
+ | |||
+ | future url: https://docs.openfoodfacts.org | ||
+ | |||
+ | 2. Write a conceptual overview and introduction to Open Food Facts mobile app for iOS | ||
+ | |||
+ | - Explain the high level goals, the architecture, the libraries used, the known limitations and the high level wishlist | ||
+ | |||
+ | source code: https://github.com/openfoodfacts/openfoodfacts-ios | ||
+ | |||
+ | 3. Write a conceptual overview and introduction to Open Food Facts mobile app for Android | ||
+ | - Explain the high level goals, the architecture, the libraries used, the known limitations and the high level wishlist | ||
+ | |||
+ | source code: https://github.com/openfoodfacts/openfoodfacts-androidapp | ||
+ | |||
+ | 4. Write a conceptual overview and introduction to the Open Food Facts API | ||
+ | - Explain the high level goals, the architecture, the libraries used, the known limitations and the high level wishlist | ||
+ | - Write guidelines on how to implement the API to ensure a sound and safe user experience | ||
+ | |||
+ | source code: https://github.com/openfoodfacts/openfoodfacts-server | ||
+ | current documentation: https://en.wiki.openfoodfacts.org/ | ||
+ | |||
+ | |||
+ | === Refactor the "How to add a product" documentation === | ||
+ | |||
+ | * Refresh screenshots and instructions to match the new UI | ||
+ | * Automate screenshot generation across languages | ||
+ | |||
+ | # Create a documentation of the advanced features of Open Food Facts for scientists, journalists… | ||
+ | |||
+ | * Document the advanced search feature, and the graph generation, with examples | ||
+ | |||
+ | === Document the Open Food Facts API === | ||
+ | |||
+ | 1. General | ||
+ | |||
+ | The Open Food Facts API has grown organically through the years, and has been documented as we go, but not in a systematic way. New practices like automatic API generation from the Code could be added. | ||
+ | |||
+ | https://en.wiki.openfoodfacts.org/API | ||
+ | |||
+ | 2. READ | ||
+ | |||
+ | The READ part of the API is very important for the official client, as well as for apps who send direct calls from their users to the API (provided volume stays reasonable). | ||
+ | |||
+ | The project can be divided in one part for the images, one for the data. | ||
+ | |||
+ | https://en.wiki.openfoodfacts.org/API/Read | ||
+ | |||
+ | 3. WRITE | ||
+ | |||
+ | The WRITE part is very important to let apps send images and data contributed by their users, to Open Food Facts. The better documented, and the easier it is to implement contribution within 3rd party apps, the more images and data we'll get, the faster we'll have full food transparency worldwide. | ||
+ | |||
+ | The project can be divided in one part for the images, one for the data. | ||
+ | |||
+ | https://en.wiki.openfoodfacts.org/API/Write | ||
+ | |||
+ | 4. Automatic generation | ||
+ | |||
+ | Add documentation within the code to generate documentation and SDKs automatically. Automatic generation from code with things like Swagger would be very interesting | ||
+ | |||
+ | |||
+ | === Automate screenshot generation of the mobile and web apps === | ||
+ | * Refresh screenshots and instructions to match the new UI for the web tutorial (and possibly automate screenshot generation) | ||
+ | * On mobile (Android), finish to automate screenshot generation across languages, and add support for framing, text… | ||
+ | * On mobile (iOS), automate screenshot generation across languages, and add support for framing, text… | ||
+ | |||
+ | source code: https://github.com/openfoodfacts/openfoodfacts-ios | ||
+ | source code: https://github.com/openfoodfacts/openfoodfacts-androidapp | ||
+ | |||
+ | === Document how to install the Open Food Facts server === | ||
+ | |||
+ | === Document a "perfect" version 2 of the API before we code it === | ||
+ | |||
+ | |||
+ | |||
+ | === Extracting knowledge from Slack channels === | ||
+ | Some knowledge is stuck in Slack channels. It would be interesting to extract relevant knowledge from them and structure it. | ||
+ | |||
+ | === Write introduction pages for specific audiences === | ||
+ | > Users | ||
+ | * Feature page for Web | ||
+ | * Feature page for Android | ||
+ | * Feature page for iOS | ||
+ | |||
+ | > Producer's page | ||
+ | * Startups | ||
+ | * Food companies | ||
+ | * SMB with 300-400 products | ||
+ | * Startup with 12 products | ||
+ | * Global group with processes, different product lines, managed globally | ||
+ | * Hard discounted, no IT | ||
+ | * Food distributors | ||
+ | |||
+ | > Page for journalists with presskits | ||
+ | * Journalists | ||
+ | * Scientific journalist | ||
+ | * Beauty/Healthy/Lifestyle journalist | ||
+ | * Journalist students | ||
+ | * Tech journalists | ||
+ | * Android/iOS/OpenData/Generalists | ||
+ | |||
+ | > Page for developpers | ||
+ | * Developpers | ||
+ | * Indie developpers | ||
+ | * Corporate developpers | ||
+ | |||
+ | > Page for Researchers | ||
+ | * Researchers (AI, Nutrition) | ||
+ | |||
+ | > Page for Politicians/Government | ||
+ | |||
+ | > Page for Dieteticians/Nutritionists | ||
+ | |||
+ | === Build a directory of Open Food Facts reuses === | ||
+ | Build a directory of Open Food Facts reuses. It might highlight key features, like displaying the Nutri-Score, contributing back pictures, screenshots, target audiences, countries… | ||
+ | |||
+ | |||
[[Category:API]] | [[Category:API]] | ||
+ | [[Category:Roadmap]] | ||
+ | [[Category:Documentation]] |
Latest revision as of 07:25, 7 August 2024
Documentation
- Product Opener documentation (web)
- Old API documentation (deprecated)
- Latest version of the documentation
Product | Doc | Comment |
---|---|---|
Server code | Code doc | Example |
API | API doc | Example |
Android | Code doc | Example |
Flutter | Code doc | Example |
Dart package | Code Doc | Example |
Python package | Doc | Example |
Robotoff (Python) | Doc | Example |
iPhone | Code Doc | Example |
2021 Documentation roadmap
- Set up a bi-monthly call for documentation
Set up a process to make publication a breeze
- Publish the new documentation to our new servers
- Automate the publication of the documentation
- Deprecate the old wiki doc
Set up a process to keep documentation fresh
- Keep the documentation on par with the API
- Generate new separate, fast-moving documentation from the questions in #api or #general, and consider integrating some of it in the main documentation
Improve the documentation
- Document assumptions and things we (d/w)on't do
Documentation projects
Create a developper page for OpenFoodFacts.org
Goal: onboard prospective developpers and people wanting to use Open Food Facts in their app
- basic information about getting started as a contributor to the open source project - rules around licence agreements, processes for pull requests and reviews, building the project, pointers to the Slack room, the API docs…
url: https://world.openfoodfacts.org/developers source code: https://github.com/openfoodfacts/openfoodfacts-web
Build a dedicated documentation site
Build a central documentation site on a platform to be decided by the technical writer and open source mentor, and publish an initial set of basic documents on the site. Examples of platforms include:
- Read the Docs
- A static site generator such as Hugo, Jekyll, Sphinx, and more
- GitHub Pages
Write conceptual overviews of the Open Food Facts products
1. Write a conceptual overview and introduction to the Open Food Facts server - Explain the high level goals, the architecture, the libraries used, the known limitations and the high level wishlist
future url: https://docs.openfoodfacts.org
2. Write a conceptual overview and introduction to Open Food Facts mobile app for iOS
- Explain the high level goals, the architecture, the libraries used, the known limitations and the high level wishlist
source code: https://github.com/openfoodfacts/openfoodfacts-ios
3. Write a conceptual overview and introduction to Open Food Facts mobile app for Android - Explain the high level goals, the architecture, the libraries used, the known limitations and the high level wishlist
source code: https://github.com/openfoodfacts/openfoodfacts-androidapp
4. Write a conceptual overview and introduction to the Open Food Facts API - Explain the high level goals, the architecture, the libraries used, the known limitations and the high level wishlist - Write guidelines on how to implement the API to ensure a sound and safe user experience
source code: https://github.com/openfoodfacts/openfoodfacts-server current documentation: https://en.wiki.openfoodfacts.org/
Refactor the "How to add a product" documentation
- Refresh screenshots and instructions to match the new UI
- Automate screenshot generation across languages
- Create a documentation of the advanced features of Open Food Facts for scientists, journalists…
- Document the advanced search feature, and the graph generation, with examples
Document the Open Food Facts API
1. General
The Open Food Facts API has grown organically through the years, and has been documented as we go, but not in a systematic way. New practices like automatic API generation from the Code could be added.
https://en.wiki.openfoodfacts.org/API
2. READ
The READ part of the API is very important for the official client, as well as for apps who send direct calls from their users to the API (provided volume stays reasonable).
The project can be divided in one part for the images, one for the data.
https://en.wiki.openfoodfacts.org/API/Read
3. WRITE
The WRITE part is very important to let apps send images and data contributed by their users, to Open Food Facts. The better documented, and the easier it is to implement contribution within 3rd party apps, the more images and data we'll get, the faster we'll have full food transparency worldwide.
The project can be divided in one part for the images, one for the data.
https://en.wiki.openfoodfacts.org/API/Write
4. Automatic generation
Add documentation within the code to generate documentation and SDKs automatically. Automatic generation from code with things like Swagger would be very interesting
Automate screenshot generation of the mobile and web apps
- Refresh screenshots and instructions to match the new UI for the web tutorial (and possibly automate screenshot generation)
- On mobile (Android), finish to automate screenshot generation across languages, and add support for framing, text…
- On mobile (iOS), automate screenshot generation across languages, and add support for framing, text…
source code: https://github.com/openfoodfacts/openfoodfacts-ios source code: https://github.com/openfoodfacts/openfoodfacts-androidapp
Document how to install the Open Food Facts server
Document a "perfect" version 2 of the API before we code it
Extracting knowledge from Slack channels
Some knowledge is stuck in Slack channels. It would be interesting to extract relevant knowledge from them and structure it.
Write introduction pages for specific audiences
> Users
- Feature page for Web
- Feature page for Android
- Feature page for iOS
> Producer's page
- Startups
- Food companies
- SMB with 300-400 products
- Startup with 12 products
- Global group with processes, different product lines, managed globally
- Hard discounted, no IT
- Food distributors
> Page for journalists with presskits
- Journalists
- Scientific journalist
- Beauty/Healthy/Lifestyle journalist
- Journalist students
- Tech journalists
- Android/iOS/OpenData/Generalists
> Page for developpers
- Developpers
- Indie developpers
- Corporate developpers
> Page for Researchers
- Researchers (AI, Nutrition)
> Page for Politicians/Government
> Page for Dieteticians/Nutritionists
Build a directory of Open Food Facts reuses
Build a directory of Open Food Facts reuses. It might highlight key features, like displaying the Nutri-Score, contributing back pictures, screenshots, target audiences, countries…