CalendarBot is an iOS application that helps you manage your calendar events and reminders more efficiently. It integrates with Apple's EventKit framework and uses AI to help schedule and organize your events.
- View, create, and delete calendar events
- Manage reminders with due dates
- Export events and reminders in formatted text
- AI-powered scheduling assistance using Dify API
- Support for multiple calendars
- Beautiful and intuitive user interface
- iOS 17.0+
- Xcode 15.0+
- Swift 5.0+
- Clone the repository
git clone https://github.com/yourusername/CalendarBot.git-
Open
CalendarBot.xcodeprojin Xcode -
Create a
Config.swiftfile in the project and add your Dify API key:
struct Config {
static let difyAPIKey = "YOUR_API_KEY_HERE"
}- Build and run the project
The app requires calendar and reminder permissions to function. Make sure to add the following keys to your Info.plist:
NSCalendarsFullAccessUsageDescriptionNSRemindersFullAccessUsageDescription
To use the AI scheduling features:
- Get an API key from Dify
- Add it to
Config.swift
- View events in the calendar view
- Create new events using the + button
- Delete events by swiping left
- Export events using the share button
- Select a date range to analyze
- The app will suggest optimal scheduling based on your existing events and reminders
- Review and approve the suggested schedule
The app follows a clean architecture pattern and uses:
- SwiftUI for the user interface
- EventKit for calendar management
- Combine for reactive programming
- MVVM pattern for view management
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
This project is licensed under the MIT License - see the LICENSE file for details