OpenHalalin is a Flutter-based mobile application designed to help users find and verify halal products. The app aims to make it easier for Muslims to make informed decisions about their food and product choices. The idea of this app is to share with fellow Muslims to build their own assistant with zero cost. The app is open-source and free to use.
- Prayer Time - Get the prayer times for your location. We are using adhan:dart package.
- Halal Scanner - Scan the barcode of a product to check if it is halal or not. We are using the Gemini API for ingredient analysis.
- Muslim Bot - Chat with the Muslim Bot to ask questions about halal products and ingredients. We are using the Gemini API for the chatbot.
- Multi-Language Support - The app supports multiple languages, including English, Bahasa Indonesia, Deutsch, Spanish, Italian, Japanese, Korean, Nederlands, Portugese, Russian, Vietnamese, and Traditional Chinese.
- Flutter (latest stable version)
- Dart SDK
- Android Studio / Xcode
- iOS Simulator / Android Emulator
To run the app, you will need to obtain the following API keys and configuration files:
-
Firebase Configuration File: Used for authentication (login with Google).
- Go to the Firebase Console.
- Create a new project or use an existing one.
- Add an Android/iOS app to your project and follow the instructions to download the
google-services.json
(for Android) orGoogleService-Info.plist
(for iOS) file. - Place the configuration file in the appropriate directory in your Flutter project.
-
Gemini API Key: Used for ingredient analysis and the Muslim Bot.
- Sign up for a free account at Gemini API.
- Navigate to the API section and generate a new API key.
- Note down the API key for later use in your project.
-
Cloudinary API Key: Used for product image storage.
- Sign up for a free account at Cloudinary.
- Go to the Dashboard to find your API key, API secret, and cloud name.
- Note down these details for later use in your project.
- Clone the repository:
git clone https://github.com/rosdyana/halalapp.git
cd halalapp
- Install dependencies:
flutter pub get
- Create the app configuration file from the template:
cp lib/config/app_config.template.dart lib/config/app_config.dart
- Run the app:
flutter run
lib/
├── components/ # Reusable UI components
├── screens/ # App screens
├── models/ # Data models
├── services/ # API and business logic
├── utils/ # Helper functions
└── main.dart # Entry point
- 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 MIT LICENSE - see the LICENSE file for details.
- Flutter team for the amazing framework
- All contributors and users of the app
- The Muslim community for their support and feedback