A Flutter chatbot application with Google Generative AI and calendar integration. This app combines the power of AI assistance with calendar management for Windows and Android platforms.
- 🤖 AI Chatbot: Powered by Google Generative AI (Gemini)
- 📅 Calendar Integration: Full calendar view with event management
- 🎨 Modern UI: Material Design 3 with light/dark theme support
- 🔄 Cross-platform: Supports Windows and Android
- 💬 Interactive Chat: Markdown support for rich AI responses
- ⚡ Real-time: Instant AI responses with loading indicators
- Flutter SDK (3.7.2 or higher)
- Dart SDK
- Google AI API Key
-
Clone the repository:
git clone <repository-url> cd llm_calendar
-
Install dependencies:
flutter pub get
-
Set up your Google AI API Key:
- Get your API key from Google AI Studio
- Create a
.envfile in the project root - Add your API key:
GEMINI_API_KEY=your_api_key_here
-
Run the application:
flutter run
lib/
├── main.dart # App entry point
├── models/ # Data models
│ ├── chat_message.dart
│ └── calendar_event.dart
├── providers/ # State management
│ ├── chat_provider.dart
│ └── calendar_provider.dart
├── screens/ # UI screens
│ ├── home_screen.dart
│ ├── chat_screen.dart
│ └── calendar_screen.dart
└── services/ # External services
└── gemini_service.dart
google_generative_ai: Google's Generative AI SDKprovider: State managementtable_calendar: Calendar widgetflutter_markdown: Markdown renderingflutter_dotenv: Environment variables
- Ask the AI assistant about calendar management
- Get help with scheduling and reminders
- General conversation support
- Markdown formatted responses
- Monthly calendar view
- Add/remove events
- Event details with time management
- Visual event indicators
- ✅ Windows
- ✅ Android
- 🚧 iOS (not configured)
- 🚧 macOS (not configured)
- 🚧 Linux (not configured)
- 🚧 Web (not configured)
- Fork the repository
- Create a feature branch
- Make your changes
- Test on both Windows and Android
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.