Skip to content

nourhanbakry/Gemini_Chat_Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌟 Gemini Chat Bot

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.

📃 Features

  • 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.

🏗️ Project Structure (Clean Architecture)

Gemini Chat Bot adopts a modular clean architecture for better code organization:

1. Core

  • Common widgets, helpers, and reusable components (e.g., toast messages, loading animations).

2. Features

  • The chatbot feature, containing its own layers:
    • Data Layer:
      Handles API integration with Gemini's model using the google_generative_ai package.
    • Logic Layer:
      • Cubit for 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.

📷 Screenshots

Screenshot 1 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 7

🏭 Installation

Navigate to the Project Directory

cd GeminiChatBot  

About

A simple chat bot app build with flutter framework using Gemini API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors