Skip to content

sncf-connect-tech/eventide

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
💡 Recurring events

🚀 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

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors