Skip to content

Repository files navigation

Anima Icon

Anima

A beautifully crafted, native calendar app for the Apple ecosystem.

Swift 5.0 Platforms License Version


✨ Features

  • iOS 26 Liquid Glass UI — True system glass (glassEffect) with clean hairline borders (.ios26Glass); graceful ultraThinMaterial fallback on earlier OSes.
  • Real EventKit data everywhere — No mock content: every list, card, and complication renders live events from all device-linked accounts (iCloud, Google, Exchange), kept fresh by store-change observation and foreground refresh.
  • Dynamic Island Integration — Expandable pill showing the next upcoming event with animated waveform bars.
  • Interactive Notch View — macOS/iPad notch-style widget for at-a-glance event info, expanding on tap.
  • Animated Background — Floating, breathing pastel orbs that adapt to light and dark mode.
  • Multi-Platform Layout — Adaptive layouts for iPhone (tab bar + FAB), iPad/visionOS (3-panel sidebar), and macOS (icon rail + sidebar + detail) with full keyboard shortcuts (⌘N, ⌘T, ⌘←/→, ⌘1–4).
  • Quick Add & Event Detail — FAB / ⌘N creates real events via EventKit; tap a card to inspect or delete (with confirmation).
  • Settings — Calendar visibility filters per source, authorization status, last-sync time.
  • Search — Live filtering across titles, notes, and locations.
  • Widget ExtensionAnimaWidget home-screen widget rendering the actual next event from a shared App Group snapshot, with live countdown and accurate reload policy.
  • Apple Watch App — Compact next-event card + today's schedule; complications in all four accessory families for the watch face.

🏗️ Architecture

Anima/
├── AnimaApp.swift                    # App entry point (+ macOS menu commands)
├── ContentView.swift                 # Root view — tab routing, iPhone/iPad/Mac layouts
├── Models/
│   ├── AppModel.swift                # Shared @Observable app state (tabs, selection, sheets)
│   ├── AppSupport.swift              # Locale-safe formatters (Fmt), accent color, settings deep link
│   ├── EventManager.swift            # EventKit gateway: auth, fetch, search, mutations
│   └── SnapshotStore.swift           # Next-event snapshot ↔ shared App Group
├── Views/
│   ├── Calendar/
│   │   ├── MonthView.swift           # Dynamic month grid (real lengths/offsets)
│   │   ├── WeekStripView.swift       # Current-week strip
│   │   └── ScheduleListView.swift    # Event cards, Quick Add & detail sheets
│   └── Components/
│       ├── AnimatedBackgroundView.swift  # Adaptive orb background
│       ├── DynamicIslandView.swift       # Dynamic Island pill overlay
│       ├── InteractiveNotchView.swift    # macOS/iPad notch widget
│       ├── SettingsView.swift            # Calendar filters & status
│       └── GlassModifier.swift           # .ios26Glass() design system
├── AnimaWidget/
│   └── AnimaWidget.swift             # iOS home-screen widget (real next event)
├── AnimaWatch/
│   ├── AnimaWatchApp.swift           # watchOS app entry point
│   └── WatchHomeView.swift           # Next-event card + today's schedule
└── AnimaWatchWidget/
    └── WatchComplications.swift      # Accessory-family complications

📱 Platform Support

Platform Min Deployment Layout
iOS 26.2 Tab Bar + FAB
iPadOS 26.2 3-Panel Sidebar
macOS 26.2 Icon Rail + Sidebar
visionOS 26.2 3-Panel Sidebar
watchOS 26.2 Next-Event + List

🚀 Getting Started

Prerequisites

  • Xcode 26.3 or later
  • macOS 26.2 or later
  • Apple Developer account (for device testing & EventKit entitlements)

Build & Run

# Clone the repository
git clone https://github.com/SwetabhSingh17/Anima.git
cd Anima

# Open in Xcode
open Anima.xcodeproj
  1. Select a target device (iPhone, iPad, Mac, or visionOS Simulator).
  2. Press ⌘R to build and run.
  3. Grant Calendar access when prompted to enable EventKit sync.

🔑 Permissions

Permission Purpose
Calendar (Full) Read events from all linked calendar accounts

📦 Dependencies

Zero external dependencies — Anima is built entirely with Apple's first-party frameworks:

  • SwiftUI
  • EventKit
  • WidgetKit

🤝 Contributing

Contributions are welcome! Please open an issue or submit a pull request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License — see the LICENSE file for details.


👤 Author

Swetabh Singh
GitHub · Built with ❤️ using SwiftUI

About

A beautifully crafted, native calendar app for the Apple ecosystem. Built with SwiftUI, featuring iOS 26 liquid glass UI, Dynamic Island integration, and multi-platform layouts.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages