Welcome to Gemini Chat Bot, a simple yet powerful chatbot application that leverages Google Generative AI's Gemini model to provide intelligent and engaging responses. Whether you're asking questions, sending images with prompts, or simply experimenting with AI-powered conversations, Gemini Chat Bot ensures a smooth and intuitive experience.
This project is designed using Flutter with a focus on clean architecture principles, applying separation of concerns, modularization, and scalable code practices. The goal is to maintain code clarity and adhere to clean coding standards, creating a maintainable and extendable application.
Gemini Chat Bot is a single-feature application demonstrating clean code principles in a practical implementation.
- Text-Based Conversations: Type a message, and the chatbot will provide intelligent responses powered by Gemini AI.
- Image-Based Prompts: Upload an image alongside a text prompt for context-specific AI responses.
- Dynamic UI Updates: Messages from the user and bot are displayed in a seamless, conversational flow.
- Responsive Design: Fully optimized for mobile devices, ensuring a smooth user experience on all screen sizes.
Gemini Chat Bot adopts a modular clean architecture for better code organization:
- Common widgets, helpers, and reusable components (e.g., toast messages, loading animations).
- The chatbot feature, containing its own layers:
- Data Layer:
Handles API integration with Gemini's model using thegoogle_generative_aipackage. - Logic Layer:
Cubitfor managing the app's state (e.g., loading, success, failure).- Ensures a clear flow of events between the data and UI layers.
- Presentation Layer:
- Contains UI components and screens, such as chat bubbles, input fields, and animated loading dots.
- Data Layer:
cd GeminiChatBot 



