Skip to content

Latest commit

 

History

History
74 lines (51 loc) · 2.59 KB

README.md

File metadata and controls

74 lines (51 loc) · 2.59 KB

📆 Eventide

pub package Flutter Tests Android Tests iOS Tests

Eventide provides a 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
🚧 Recurring events
🚧 Attendees
🚧 Streams

NOTE: Eventide handles timezones as UTC. It's up to you to make sure he sends the right data with a timezone aware DateTime class.


🔨 Getting Started

Android

Nothing to add on your side. All is already declared in eventide's AndroidManifest.xml

iOS

To read/write calendar data, your app must include the following permissions in its info.plist file.

<key>NSCalendarsUsageDescription</key>
<string>We need access to your calendar to add information about your trip.</string>
<key>NSCalendarsFullAccessUsageDescription</key>
<string>We need access to your calendar to add information about your trip.</string>
<key>NSCalendarsWriteOnlyAccessUsageDescription</key>
<string>We need access to your calendar to add information about your trip.</string>

🚀 Quick start

import 'package:eventide/eventide.dart';

final eventide = Eventide();

final calendar = await eventide.createCalendar('Work', Colors.red);

final event = await eventide.createEvent(
    calendarId: calendar.id,
    title: 'Meeting',
    startDate: DateTime.now(),
    endDate: DateTime.now().add(Duration(hours: 1)),
);

final updatedEvent = await eventide.addReminder(
    durationBeforeEvent: Duration(minutes: 15),
    eventId: event.id,
);

You can find more in the example app.


License

Copyright © 2025 SNCF Connect & Tech. This project is licensed under the MIT License - see the LICENSE file for details.