Git Product home page Git Product logo

openfoodfacts-ios's Introduction

(Old) Open Food Facts iPhone and iPad app

The new app is located at https://github.com/openfoodfacts/smooth-app

Build Status Project Status Crowdin TestFlight release

What is Open Food Facts? What can I work on ?

Open Food Facts is a food products database made by everyone, for everyone. Open Food Facts on iPhone and iPad has 0,5M users and 1,6M 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.

Features you can work on

Join the team !

OpenFoodFacts has a Slack chat room where we discuss and support each other, join the #iOS and #iOS-alerts channels.

Current features

  • Barcode scanning (including a simple offline mode)
  • NOVA, Nutri-Score and Eco-Score display (including in grey if we don't have them yet for the product)
  • Ingredient analysis with a simple way to get it if not available
  • Product page (needs revamping)
  • Search for products based on name
  • Allergen alerts (would need to be more discoverable)
  • Internationalised user interface & multilingual products handling (view & data addition)
  • Product addition & editing (incl. on-the-fly OCR of ingredients and labels, plus integration of the OFF AI)
  • Image upload
  • Night mode

Code documentation

Automatically generated code documentation on the wiki

Building

Quick & automatic setup

The easiest way to setup the dependencies of the project and generate the Xcode project is to run sh scripts/setup.sh from the top of the repository, before opening the project in Xcode.

Dependency Management - Carthage

We currently use Carthage for dependency management. New to Carthage? Others have found the following resources helpful:

Before opening the project in Xcode, run brew install carthage

carthage bootstrap --platform iOS --cache-builds

To generate the Xcode project run sh scripts/create-project.sh. In order to generate the Xcode project we use XcodeGen.

Fastlane

See the fastlane/README.md for a list and description of all lanes.

To launch a lane, you must have several env variable set. This can be done by creating a .env file in the fastlane folder, and fill it (see .env.example)

You can install Fastlane with Homebrew:

brew cask install fastlane

Generating screenshots

fastlane snapshot 
Roadmap on automatic screenshot generation:

Style and conventions - SwiftLint

A script runs when building the app that executes SwiftLint to enforce style & conventions to the code.

You can install SwiftLint with Homebrew:

brew install swiftlint

Error reporting - Sentry

Track crashes

Translations

You can help translate Open Food Facts (no technical knowledge required, takes a minute to signup).

openfoodfacts-ios's People

Contributors

teolemon avatar tovkal avatar aleene avatar philippeauriach avatar rudrankriyam avatar dependabot[bot] avatar github-actions[bot] avatar suzgupta avatar spacyricochet avatar s4rv4d avatar jncosideout avatar roger-tan avatar maleshchenko avatar mike011 avatar aubincleme avatar magauran avatar tejuamirthi avatar safiach avatar yegorsch avatar hfehrmann avatar davidlamys avatar damien-rivet avatar acecilia avatar chaubss avatar cquest avatar kant avatar punss avatar bigimot22 avatar mohammedsafwat avatar raziqfarid avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.