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.
- Show additives evaluation on cards
- Add a mode to compare 2 (or more) products
- Add a [Lists system (shopping list, nutritional intake, scan historyβ¦)]((openfoodfacts#881)
- Add a prompt to extract ingredients when photo is already present so that we can have a simple way to NOVA, vegetarian, vegan, additive status
- Finish the new product page revamp based on the Attributes API
- Add support for cosmetics (Open Beauty Facts) and other products #687 and #160
- Cache viewed products on-device so that they load fast and regardless of network conditions
OpenFoodFacts has a Slack chat room where we discuss and support each other, join the #iOS and #iOS-alerts channels.
- 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
Here are issues and feature requests you can work on:
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.
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.
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
fastlane snapshot
- Create a GitHub Action to run screenshot generation and upload the output to the OFF server (or somewhere else)
- fixing the Scan screenshot generation, and adding a way to set the background of the barcode scanner with an arbitrary image, per country
- fixing History screenshot population with products
- Adding the proposed fix to clean the top bar with 100% battery, and a fixed time
- Adding
fastlane frameit
to the Fastlane file, so that we can get versions wrapped in physical devices - fixing Chinese screenshot generation
- Ensure we can generate for 1 of (iPhone 11 Pro Max, iPhone 11, iPhone XS Max, iPhone XR), 1 of (iPhone 6s Plus, iPhone 7 Plus, iPhone 8 Plus), 1 of (3rd generation iPad Pro)
- Extra: For debugging purposes, it would be great to have other screen resolutions (iPhone 11 Pro, iPhone X, iPhone XS) (iPhone 6, iPhone 6s, iPhone 7, iPhone 8) (iPhone SE) (iPhone 4s)
Configuration: https://github.com/openfoodfacts/openfoodfacts-ios/blob/01ea37e5247978a52d491181bb7dd2fb384214af/Snapshots/SnapshotConfiguration.swift
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
You can help translate Open Food Facts (no technical knowledge required, takes a minute to signup).