An Android application designed to help users discover, manage, and generate recipes using AI. Built with Java and integrated with Firebase and Google's Gemini AI.
- User Authentication: Secure login and registration using Firebase Authentication.
- Recipe Discovery: Browse a collection of recipes in a responsive RecyclerView.
- AI Chef: Generate custom recipes based on user prompts using Google's Gemini AI.
- Recipe Management:
- Upload your own recipes with images.
- View detailed information including ingredients, measures, and instructions.
- Save recipes to your personal "Favorites" list.
- Firebase Integration: Uses Firebase Realtime Database for data storage and Firebase Auth for user management.
- Dynamic Content: Fetches high-quality images dynamically and supports YouTube video links for instructions.
- Language: Java
- UI Framework: Android XML Layouts, RecyclerView, CardView
- Image Loading: Glide
- AI Integration: Google Generative AI SDK (Gemini Flash)
- Backend: Firebase Authentication, Firebase Realtime Database
- JSON Parsing: GSON
- Android Studio Flamingo or newer.
- A Firebase project with Authentication and Realtime Database enabled.
- A Google AI (Gemini) API Key.
-
Clone the repository:
git clone https://github.com/ofekdanny/Recipes-Management-App.git
-
Firebase Setup:
- Add your
google-services.jsonto theapp/directory. - Enable Email/Password authentication in the Firebase Console.
- Set up Realtime Database rules to allow read/write for authenticated users.
- Add your
-
AI Configuration:
- Open
ChefAIFragment.java. - Replace the
API_KEYconstant with your Gemini API key.
- Open
-
Build and Run:
- Sync the project with Gradle files.
- Run the app on an emulator or physical device.
activities/: ContainsMainActivity(navigation host) andSplashActivity.fragments/: Core application logic for different screens (Login, Recipes, ChefAI, etc.).models/: Data classes (e.g.,Recipe).adapters/: RecyclerView adapters for recipes and ingredients.res/: UI resources including layouts and drawables.