Jean-Luc Makiola e5b523e907
Some checks failed
CI / ci (push) Has been cancelled
docs: backlog the Locations & People ideas (contact picker, OSM autocomplete)
Captured from discussion, deliberately undetailed: permission-free contact
address picker, Photon-based address autocomplete (would need INTERNET —
explicit go/no-go on the no-network promise before any work), inline
contact suggestions, attendee editing as its own future milestone.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 22:24:43 +02:00

Calendula

A modern Material 3 Expressive calendar app for Android.

Calendula is named after the flower of the same name, whose name comes from the Latin kalendae — the first day of the month — the same root as the word "calendar". Calendula reads from Android's built-in CalendarContract, so any calendar source synced to your device (CalDAV via DAVx5, Google, local, WebCal subscriptions, ...) is shown.

Features

  • Month, Week, and Day views
  • Full event details — attendees, reminders, recurrence, availability, and more
  • Create, edit, and delete events — recurring events with scoped writes (only this event / this and all following / whole series) and a simple recurrence picker
  • Reminder notifications, delivered by Calendula itself (tap opens the event)
  • Multi-calendar visibility toggle
  • Material You Dynamic Color (Android 12+)
  • Light/Dark theme follows system
  • German + English UI

Building

Requires Android SDK 36 and JDK 17. The Gradle wrapper is checked in, so no host Gradle install is needed:

# Build debug APK
./gradlew assembleDebug

# Run unit tests
./gradlew test

# Run lint
./gradlew lint

If your default JDK is something other than 17, set JAVA_HOME explicitly:

JAVA_HOME=/path/to/jdk-17 ./gradlew assembleDebug

License

MIT — Jean-Luc Makiola, 2026

Description
A modern Material 3 Expressive calendar app for Android
Readme MIT 3.1 MiB
v2.7.0 Latest
2026-06-18 14:24:35 +00:00
Languages
Kotlin 99.6%
Python 0.4%