Need help with openfoodfacts-androidapp?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

openfoodfacts
512 Stars 385 Forks Apache License 2.0 7.1K Commits 462 Opened issues

Description

Native version of Open Food Facts on Android - Coders & Decoders welcome 🤳🥫

Services available

!
?

Need anything else?

Contributors list

Open Food Facts - Android application

A food products database

Open Food Facts is a food products database made by everyone, for everyone. Open Food Facts gathers information and data on food products from around the world.

Project Status Quality Gate Crowdin Android Master & PR Average time to resolve an issue Percentage of issues still open Open Source Helpers

What is Open Food Facts?

A food products database

Open Food Facts is a database of food products with ingredients, allergens, nutrition facts and all the tidbits of information we can find on product labels.

Made by everyone

Open Food Facts is a non-profit association of volunteers. 25000+ contributors like you have added 1,1M+ products from 150 countries using our Android, iPhone or Windows Phone app or their camera to scan barcodes and upload pictures of products and their labels.

For everyone

Data about food is of public interest and has to be open. The complete database is published as open data and can be reused by anyone and for any use. Check-out the cool reuses or make your own!

Test it on your phone or tablet

| Open Food Facts on Google Play | Open Food Facts on F-Droid | Open Food Facts on the Web |Open Food Facts is also available on iOS| | ------------- | ------------- | ------------- | ------------- | | | | https://world.openfoodfacts.org/ | iOS repository | |||||

Bugs and feature requests

Have a bug or a feature request? Please search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.

What can I work on ?

Open Food Facts on Android has 0,5M users and 1M products. Each contribution you make will have a large impact on food transparency worldwide. Finding the right issue or feature will help you have even more more impact. Feel free to ask for feedback on the #android channel before you start work, and to document what you intend to code.

Here are issues and feature requests you can work on: - P1 issues - Issues with a screenshot of the problem - Issues with a visual mockup of the solution - Simplify product addition - Create onboarding features for new users - Small issues (Hacktoberfest) - Improve product comparison - Help remove some of the technical debt

If you don't have time to contribute code, you're very welcome to * scan new products * make a donation to help pay for the hosting and general costs

Help translate Open Food Facts in your language

You can help translate Open Food Facts and the app at (no technical knowledge required, takes a minute to signup):
https://translate.openfoodfacts.org

Installation

| Choose the right flavor | Install steps| | ------------- | ------------- | | | * Download the latest Android Studio stable build.
* If you are running the app for the first time, Android Studio will ask you to install the Gradle dependencies.
* If you are a new contributor to open-source, we recommend you read our Setup Guidelines
* In Android Studio, make sure to select

OFF
as the default flavor for Open Food Facts (
OBF
is Open Beauty Facts,
OPF
- Open Products Facts,
OPFF
- Open Pet Food Facts)
* You should be able to install Open Food Facts on your phone using an USB cable, or run it in an emulator.
* The package name on the Play Store is org.openfoodfacts.scanner. For historic reasons, it's openfoodfacts.github.scrachx.openfood in the code and on F-Droid.|

Running a Fastlane lane

The project uses Fastlane to automate release and screenshots generation. * First time you checkout, run

bundle install
at the root of the project * Then launch lanes using
bundle exec fastlane release
(for example the release lane)

Generate screenshots for the Play Store

To activate the

screenshots
buildType in IDE, uncomment
def result = "screenshots"
and comment the other line otherwise the folder androidTestScreenshots is not recognized as a test folder. To generate localized screenshots of the app on your local computer, launch the command
gradlew connectedOffScreenshotsAndroidTest --stacktrace --info -PtestBuildType=screenshots
with a physical device attached to your computer Help is welcome to improve

Who do I talk to?

Will you join us ?

If you're new to open-source, we recommend to checkout our Contributing Guidelines. Feel free to fork the project and send a pull request.

Libraries we use

We use the following libraries, and we're not closed to changes where relevant :-) If you spot any libraries we added or we don't use anymore, feel free to update this list using a Pull Request.

  • Dagger 2 - A fast dependency injector for Android and Java
  • Retrofit - Retrofit turns your REST API into a Java interface
  • OkHttp - An HTTP+SPDY client for Android and Java applications
  • Mockito - Most popular Mocking framework for unit tests written in Java
  • Apache - The Apache Commons IO library contains utility classes, stream implementations, file filters, file comparators, endian transformation classes, and much more.
  • RxJava - Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
  • android-async-http - A Callback-Based Http Client Library for Android
  • Jackson - Core part of Jackson that defines Streaming API as well as basic shared abstractions
  • code-mc/loadtoast - Pretty material design toasts with feedback animations
  • journeyapps/zxing-android-embedded - Barcode scanner library for Android, based on the ZXing decoder
  • koush/ion - Android Asynchronous Networking and Image Loading
  • jsoup - jsoup is a Java library for working with real-world HTML
  • satyan/sugar - Insanely easy way to work with Android Database.
  • afollestad/material-dialogs - A beautiful, fluid, and extensible dialogs API for Kotlin & Android.
  • jjhesk/LoyalNativeSlider - Possible a dynamic viewpager ever you can find.
  • mikepenz/MaterialDrawer - The flexible, easy to use, all in one drawer library for your Android project.

Big thanks to their contributors!

Contributors

The project was initially started by Scot Scriven, other contributors include: - Aurélien Leboulanger - Pierre Slamich - Friedger Müffke - Qian Jin - Fred Deniger - VaiTon - Full list of the Open Food Facts Android developers

Copyright and License

Copyright 2016-2020 Open Food Facts

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.