A comprehensive supply chain tracking application for the coffee industry, supporting EUDR compliance and sustainable trade practices.
TraceFoodChain is a cross-platform application designed to digitize and streamline coffee supply chain operations. It enables various stakeholders including farmers, traders, processors, and importers to track coffee from farm to cup while ensuring compliance with EU Deforestation Regulation (EUDR). Since the code builds on Flutter, the app can be compiled as native Android or iOS app, webapp, windows, macos or linux. The intention is to minimise native cloud interaction but to use REST-API calls instead to allow to exchange the backend when needed. All internal and external data structures are openRAL.
- 🌱 Complete coffee supply chain tracking
- 📱 Works offline and online
- 🔄 QR code and NFC support for easy tracking
- 📊 EUDR compliance with automated Due Diligence Statements
- 🌍 Multi-language support (English, Spanish, German, French)
- 🔒 Secure authentication and data management
- 🌲 Integration with WHISP for deforestation risk assessment
- Flutter SDK (latest stable version)
- Firebase account and project setup
- Android Studio / VS Code with Flutter plugins
- For iOS development: Xcode (on macOS)
- Clone the repository:
git clone https://github.com/agstack/tracefoodchain.git
cd tracefoodchain
- Install dependencies:
flutter pub get
-
Configure Firebase:
- Create a new Firebase project
- Download and add the
google-services.json
(Android) andGoogleService-Info.plist
(iOS) - Update Firebase configuration in
lib/firebase_options.dart
-
Run the app:
flutter run
Create a .env
file in the project root with the following variables:
FIREBASE_API_KEY=your_api_key
WHISP_API_KEY=your_whisp_api_key
The app follows a clean architecture pattern with the following key components:
lib/providers/
- State management using Providerlib/screens/
- UI screens and widgetslib/services/
- Business logic and API interactionslib/repositories/
- Data layer handling local and remote datalib/models/
- Data models and entities
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the Apache License 2.0 - see the LICENSE file for details. The Apache License 2.0 is a permissive license that allows you to use, modify, and distribute this software, while also providing patent protection and requiring preservation of copyright and license notices.
- Built on the openRAL framework
- Deforestation risk assessment powered by WHISP
- Firebase for backend services
- Flutter and the Flutter team for the amazing framework
For support, please open an issue in the GitHub repository or contact the development team at [email protected].
Current Version: 0.8 alpha (2024-10-13)
The project is under active development. Check the releases page for the latest updates.