Ratatouille is a mobile app for food lovers to explore, search, and manage their favorite recipes. The app allows users to discover meals by category, country, or ingredients, create meal plans, and sync their data across devices using Firebase. Built using Kotlin and Room Database, Ratatouille ensures offline functionality for favorite meals and meal plans.
- Meal of the Day: Displays a random meal recommendation every day.
- Search Meals: Users can search for meals by:
- Country
- Ingredient
- Category
- Favorites Management: Users can add or remove meals from their favorite list and save them offline using Room Database.
- Meal Plan: Users can plan their meals for each day of the week.
- Ingredient Management: View all ingredients and manage selected ingredients for meals.
- Firebase Integration:
- Google Authentication
- Save and sync favorite meals, meal plans, and ingredients for each user.
- Data synchronization across devices.
- Offline Access: View favorite meals and meal plans even when offline.
- Kotlin: The app is written in Kotlin, following modern Android development practices.
- Room Database: For local storage of meals, ingredients, and meal plans.
- Firebase:
- Authentication for user login and registration.
- Firestore for syncing user data like favorite meals, meal plans, and selected ingredients.
- MVVM Architecture: The app uses the MVVM pattern to maintain a clean separation of concerns between UI and data.