Skip to content

Repository files navigation

📆 Eventide

pub package License: MIT Tests codecov

Eventide provides an easy-to-use flutter interface to access & modify native device calendars (iOS & Android).


🔥 Features

Eventide
Automatic permission handling
Create/retrieve/delete calendars
Create/retrieve/delete events
Create/delete reminders
Custom exceptions
Attendees
Edit calendars/events
🏗️ Event recurrence

🚀 Quick Start

Platform Setup

Detailed setup for Android and iOS can be found in PLATFORM_SETUP.md.

Automatic permission handling

Eventide automatically handles the permission flow for you - no need to manually request permissions. See API_REFERENCE.md.

Usage

import 'package:eventide/eventide.dart';

final eventide = Eventide();

// Create an event in calendar
final calendars = await eventide.retrieveCalendars();

await eventide.createEvent(
  calendarId: calendars.first.id,
  title: 'Important Meeting',
  startDate: DateTime.now().add(Duration(days: 1)),
  endDate: DateTime.now().add(Duration(days: 1, hours: 1)),
  reminders: [const Duration(minutes: 15)],
);

// Create an event in the default calendar (Privacy-first)
await eventide.createEventInDefaultCalendar(
  title: 'Important Meeting',
  startDate: DateTime.now().add(Duration(days: 1)),
  endDate: DateTime.now().add(Duration(days: 1, hours: 1)),
);

// Create an event using native platform UI (No permissions required)
await eventide.createEventThroughNativePlatform(
  title: 'Team Standup',
);

📚 Documentation


License

Copyright © 2026 SNCF Connect & Tech. This project is licensed under the MIT License.

Feedback

Please file any issues, bugs or feature requests as an issue on the Github page.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages