Foodie is a Flutter-based gamified recipe app designed to help you find culinary inspiration, cook, and compete in culinary duels. Complete challenges, earn points, and unlock rewards along the way.
- Flutter framework
- Dart language
- Riverpod state management
- Firebase for database, authentication, and storage
- Architecture inspired by Andrea Bizzotto
- Routing with goRouter package
- Optimized for Android mobile devices
- User authentication using Firebase Auth
- Fetching recipe data from Tasty API
- Search for recipes
- View recipe details and scale ingredients based on the number of servings
- Step-by-step recipe process
- Save favorite recipes using the Hive package
- In-app chat with camera integration
- Points system with levels: Earn points by completing challenges, cooking meals, and achieving rewards.
- Cooking challenges: Complete challenges by cooking meals with specific ingredients.
- Rewards: Earn achievement icons in your profile for completing challenges.
- Duels between 2 users: Engage in a culinary duel with randomly generated recipes, and share pictures of your dishes with each other.
If you want to try this application on a real Android smartphone:
- Go to the Flutter apk download page
- Tap on "View raw"
- Download and install the apk
- Open and enjoy!
If you want to explore and run the code:
- Clone the project to your local machine
- Set up Firebase in your Firebase project
- Register for a Tasty API key and add it to your project's environment variables
- Install all project dependencies by running:
flutter pub get
- Run the app using the following command:
flutter run