Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev3.32.0

openfoodfacts

Pacote Dart para a API do Open Food Facts, um banco de dados de produtos alimentícios feito por todos, para todos.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
11,2 mil
Curtidas
160
Pontos Pub
160

Instalar pacote

flutter pub add openfoodfacts

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote Dart openfoodfacts fornece acesso fácil à API do Open Food Facts, um banco de dados colaborativo de produtos alimentícios contribuídos por usuários de todo o mundo. Permite aos desenvolvedores recuperar informações detalhadas sobre produtos, como ingredientes, informações nutricionais, alérgenos e dados de código de barras. Projetado para aplicações multiplataforma, suporta Android, iOS, Web, macOS, Windows e Linux. O pacote simplifica a integração com o banco de dados do Open Food Facts, tornando-o ideal para aplicativos focados em transparência alimentar, rastreamento dietético ou análise nutricional.

Casos de uso

  • Pesquisa de produto alimentício por código de barras
  • Recuperação de informações nutricionais
  • Varredura de alérgenos e ingredientes
  • Aplicativos de rastreamento alimentar
  • Pesquisa sobre escolhas alimentares sustentáveis

Principais recursos

  • Compatibilidade multiplataforma
  • Acesso a dados de produtos em tempo real
  • Suporte para pesquisas por código de barras e palavras-chave
  • Open-source e comunitário
  • Integração de API simples

Indicado para

  • Aplicativos de saúde e bem-estar
  • Ferramentas de rotulagem de alimentos
  • Plataformas de gerenciamento dietético
  • Aplicativos educacionais de ciência dos alimentos
  • Aplicações focadas na sustentabilidade

Considerações

  • Depende da disponibilidade da API externa
  • A qualidade dos dados varia conforme as contribuições dos usuários
  • Requer conexão com a internet para consultas em tempo real
  • Funcionalidade offline limitada
  • Pode ser aplicado limite de taxa durante uso elevado

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Open Food Facts - Dart

Pub Version Run sdk tests likes popularity pub points

Dart package for the Open Food Facts API. Free and Easy access to more than 2.9 million food products information from all around the world. Open Food Facts is powered by contributors from around the world and is constantly growing thanks to them.

General principles, how does it work ?

We use the ability of the Open Food Facts API to return products results in JSON, we then generate easily understandable objects structures to make it simple for you to use.

This plugin also allows you to edit a product or upload a new one to Open Food Facts. Using the same simple product structure you can create a product object or edit an existing one and send it to the API using a single function.

Weekly meetings (currently inactive)

  • We e-meet on Fridays at 09:00 Paris Time (08:00 London Time, 11:30 IST, 12:00 AM PT)
  • Google Meet Video call link: https://meet.google.com/gnp-frks-esc
  • Join by phone: https://tel.meet/gnp-frks-esc?pin=1110549945262
  • Add the Event to your Calendar by adding the Open Food Facts community calendar to your calendar
  • Weekly Agenda: please add the Agenda items as early as you can. Make sure to check the Agenda items in advance of the meeting, so that we have the most informed discussions possible, leading to argumented decisions.
  • The meeting will handle Agenda items first, and if time permits, collaborative bug triage.
  • We strive to timebox the core of the meeting (decision making) to 30 minutes, with an optional free discussion/live debugging afterwards.
  • We take comprehensive notes in the Weekly Agenda of agenda item discussions and of decisions taken.

Usage

Installation

Follow the installing instructions on pub.dev.

How to authenticate

For most queries no authentication is required! :) Though we recommend to set a User-Agent to not to be blocked by mistake.

Setup (Optional)

At the beginning of the app you can define some global settings so that they don't need to be specified in each query. You can override these static values at any time in the app lifecycle.

import 'package:openfoodfacts/openfoodfacts.dart';

OpenFoodAPIConfiguration.userAgent = UserAgent(name: 'Your app name', url: 'Your url, if applicable');

OpenFoodAPIConfiguration.globalLanguages = <OpenFoodFactsLanguage>[
  OpenFoodFactsLanguage.ENGLISH
];

OpenFoodAPIConfiguration.globalCountry = OpenFoodFactsCountry.FRANCE;

All possible configurations can be found here.

Migrations

Find migration instructions here.

Features

Code examples for the following tasks:

Reading data
Writing data
Robotoff support

Robotoff it the Open Food Facts AI which analyze every new pictures to extract new data.

Folksonomy Engine

Folksonomy is adding several kinds of new individual data properties to Open Food Facts or Open Products Facts.

Contributing data

Handle Open Food Facts accounts

Some queries which modify or enter data need a user account to validate this request. There are multiple ways to handle user accounts:

  1. Let your users login / create Open Food Facts user accounts (Recommended)
  2. Create a global user for your app through which all requests run

Currently there is no OAuth workflow, therefor a user is just a User object in this package. So you need to get the username as well as the password from the users and store it somewhere save. For Flutter apps we recommend using the flutter_secure_storage package

For the user to be taken into account you have mount a global user at one point in your app lifecycle:

  OpenFoodAPIConfiguration.globalUser = User(
    userId: 'myUsername',
    password: 'myPassword',
  );

Regardless if you are using a global app or accounts per user. After mounting this, the user will be added to queries where the user can be attributed.

Some methods in OpenFoodAPIClient require to pass a User, there you can access the before mounted user with:

 OpenFoodAPIClient.thisNeedsAnUser(
  user: OpenFoodAPIConfiguration.globalUser,
  ...
 );

Further examples:

If your users do not expect a specific result immediately (eg. Inventory apps)
  • Send photos (front/nutrition/ingredients/packaging): most painless thing for your users
  • The Open Food Facts AI Robotoff will generate some derived data from the photos
  • Overtime, other apps, and the Open Food Facts community will fill the data gaps
If your users do expect a result immediately (eg Nutrition apps, Scoring apps…)
  • Send nutrition facts + category > get the Nutri-Score
  • Send ingredients > get the NOVA group (about food ultra-processing), additives, allergens, normalized ingredients, vegan, vegetarian…
  • Send category (strict minimum) + labels + origins of ingredients + packaging (photo and text) > get the Eco-Score (about environmental impact)

Open Data License

The database in under the OdBL. This means attributing the source and also contributing back any additions (photos, data), which this package makes easy to do. You can check the terms of use here : Terms of use.

Useful recourses

Contribute to the package

If found a bug or missing features in this package, please open an issue for it.

Support

If you are having issues, that go beyond the scope of this package, please write to us on Slack or send us an email at reuse@openfoodfacts.org (or contact@openfoodfacts if not related to reuse)

Testing

Execute the following command from the root of the repository to run the tests:

dart test

Applications using this SDK

Official application

Open Food Facts (Codename Smoothie) is the official app developed by Open Food Facts, which is available on Android and iOS. The source code is also available on GitHub.

Third party applications

Feel free to open a PR to add your application in this list.

Authors

Thanks to Alexander Schacht and Primaël Quémerais for the initial creation of this package.

Contributors

Drag Racing

Categorias

Dependências

Lista de dependências 4 itens

Repositório-fonte

Projetos que usam este pacote