How raptar212/birthday-checker works
BirthDay Checker is a Windows and Android app for tracking birthdays, name days, anniversaries, and holidays. The main workflow is to create or import entries, persist them, calculate upcoming occurrences, and show them in a list, calendar, or reminder. Windows runs from the system tray; Android provides a list, calendar, editor, daily notification, widget, and self-update. Shared core modules handle entry dates, catalogs, settings, storage, and reminder text. The graph follows documented behavior and source-index references; unsampled implementation details are not inferred.
Main entry points: MainPage.xaml.cs Mobile list · MainWindow.xaml.cs Entry list · Entry.cs Entry model · TrayApp.cs Tray app
Components 24
Windows app
- Tray app
src/BirthdayChecker.App/TrayApp.cs - Entry list
src/BirthdayChecker.App/MainWindow.xaml.cs - Calendar
src/BirthdayChecker.App/CalendarView.cs - Events editor
src/BirthdayChecker.App/EventsWindow.cs - Tags editor
src/BirthdayChecker.App/TagsWindow.cs - Settings
src/BirthdayChecker.App/SettingsWindow.cs
Android app
- Mobile list
mobile/BirthdayChecker.Mobile/MainPage.xaml.cs - Entry editor
mobile/BirthdayChecker.Mobile/EditorPage.xaml.cs - Calendar
mobile/BirthdayChecker.Mobile/CalendarPage.cs - Settings
mobile/BirthdayChecker.Mobile/SettingsPage.cs - Notifications and widget
mobile/BirthdayChecker.Mobile/Platforms/Android/Reminders.cs - Self-update
mobile/BirthdayChecker.Mobile/Platforms/Android/SelfUpdate.cs
Shared domain
- Entry model
src/BirthdayChecker.Core/Entry.cs - Event dates
src/BirthdayChecker.Core/EventDate.cs - Occurrence calculation
src/BirthdayChecker.Core/Upcoming.cs - Reminder formatting
src/BirthdayChecker.Core/ReminderText.cs - Tags, events, columns
src/BirthdayChecker.Core/TagCatalog.cs - App settings
src/BirthdayChecker.Core/AppSettings.cs
Persistence and exchange
- Entries file
src/BirthdayChecker.Core/EntryStorage.cs - CSV import/export
src/BirthdayChecker.Core/EntryCsv.cs - Cross-device exchange
src/BirthdayChecker.Core/EntryExchange.cs
Other components
- User
- Android system
- Release service
Connections 38
- User → Tray app: opens
- Tray app → Entry list: opens list
src/BirthdayChecker.App/TrayApp.cs - Entry list → Calendar: opens calendar
src/BirthdayChecker.App/MainWindow.xaml.cs - Entry list → Events editor: edits events
src/BirthdayChecker.App/MainWindow.xaml.cs - Entry list → Tags editor: edits tags
src/BirthdayChecker.App/MainWindow.xaml.cs - Entry list → Settings: opens settings
src/BirthdayChecker.App/MainWindow.xaml.cs - Tray app → Entries file: loads entries
src/BirthdayChecker.App/TrayApp.cs - Tray app → Occurrence calculation: checks occurrences
src/BirthdayChecker.App/TrayApp.cs - Tray app → Reminder formatting: formats reminders
src/BirthdayChecker.App/TrayApp.cs - Tray app → App settings: reads settings
src/BirthdayChecker.App/TrayApp.cs - Entry list → Entries file: loads and saves
src/BirthdayChecker.App/MainWindow.xaml.cs - Entry list → CSV import/export: imports and exports
src/BirthdayChecker.App/MainWindow.xaml.cs - Calendar → Entry model: renders entries
src/BirthdayChecker.App/CalendarView.cs - Calendar → Tags, events, columns: reads event types
src/BirthdayChecker.App/CalendarView.cs - User → Mobile list: uses app
- Mobile list → Entry editor: edits entries
mobile/BirthdayChecker.Mobile/MainPage.xaml.cs - Mobile list → Calendar: opens calendar
mobile/BirthdayChecker.Mobile/MainPage.xaml.cs - Mobile list → Settings: opens settings
mobile/BirthdayChecker.Mobile/MainPage.xaml.cs - Mobile list → Entries file: loads entries
mobile/BirthdayChecker.Mobile/MainPage.xaml.cs - Mobile list → CSV import/export: imports and exports
mobile/BirthdayChecker.Mobile/MainPage.xaml.cs - Mobile list → Notifications and widget: checks reminders
mobile/BirthdayChecker.Mobile/MainPage.xaml.cs - Mobile list → Self-update: checks updates
mobile/BirthdayChecker.Mobile/MainPage.xaml.cs - Calendar → Entry model: renders entries
mobile/BirthdayChecker.Mobile/CalendarPage.cs - Calendar → Tags, events, columns: reads event types
mobile/BirthdayChecker.Mobile/CalendarPage.cs - Entry editor → Entry model: edits entries
mobile/BirthdayChecker.Mobile/EditorPage.xaml.cs - Entry editor → Tags, events, columns: reads tags
mobile/BirthdayChecker.Mobile/EditorPage.xaml.cs - Notifications and widget → Entries file: loads entries
mobile/BirthdayChecker.Mobile/Platforms/Android/Reminders.cs - Notifications and widget → Occurrence calculation: schedules checks
mobile/BirthdayChecker.Mobile/Platforms/Android/Reminders.cs - Notifications and widget → Reminder formatting: formats notice
mobile/BirthdayChecker.Mobile/Platforms/Android/Reminders.cs - Notifications and widget → Android system: posts notifications
mobile/BirthdayChecker.Mobile/Platforms/Android/Reminders.cs - Self-update → Release service: downloads release
mobile/BirthdayChecker.Mobile/Platforms/Android/SelfUpdate.cs - Self-update → Android system: installs package
mobile/BirthdayChecker.Mobile/Platforms/Android/SelfUpdate.cs - Mobile list → Cross-device exchange: shares entries
- Cross-device exchange → Entries file: reads and writes
src/BirthdayChecker.Core/EntryExchange.cs - Entry model → Event dates: uses date rules
src/BirthdayChecker.Core/Entry.cs - Occurrence calculation → Entry model: calculates occurrences
src/BirthdayChecker.Core/Upcoming.cs - CSV import/export → Entry model: converts rows
src/BirthdayChecker.Core/EntryCsv.cs - Entries file → Entry model: serializes entries
src/BirthdayChecker.Core/EntryStorage.cs