
Day of the Day
В App StoreDay of the Day — это нативное приложение для macOS, которое показывает интересные, необычные и официальные праздники для любой даты. Помимо основного окна с календарём и подробностями праздника, у приложения есть иконка в системной строке меню с быстрым доступом к празднику дня, виджет для рабочего стола и тонкая настройка через темы и фоны.
/// Ключевые фичи
- Календарь с подборкой необычных праздников на каждый день года
- Иконка в системной строке меню с праздником текущего дня
- Виджет рабочего стола через WidgetKit
- Фильтр праздников по типу: официальные и шуточные
- Темы оформления и сменные фоновые изображения
- Подписка через StoreKit 2 с прозрачным paywall-экраном
- Локализация на 4 языка: русский, английский, японский, упрощённый китайский
- Полностью нативный macOS-опыт с App Sandbox
/// Скриншоты
О проекте
Day of the Day родилось из простой идеи: открываешь Mac утром и сразу видишь, чем сегодняшний день примечателен. Помимо официальных праздников, приложение знает сотни «необычных» — от международного дня объятий до дня программиста — и показывает их в трёх местах одновременно: в основном окне, в строке меню и в виджете.
Сценарии использования
Быстрый взгляд
Иконка в строке меню показывает праздник текущего дня одним кликом. Без переключения окон, без отвлечения от работы.
Планирование контента
Smm-щикам и контент-мейкерам — готовый источник инфоповодов на каждый день года. Календарь позволяет посмотреть, что будет завтра, на следующей неделе или в любой другой день.
Просто интересно
Узнать, что 16 октября — день шефа, а 20 марта — международный день счастья. Маленькое ежедневное открытие.
Технические решения
Гибридная архитектура SwiftUI + AppKit
Основное окно полностью на SwiftUI, но статус-бар и popover управляются через классический AppDelegate с NSStatusItem и NSPopover. Контент popover — это NSHostingView с SwiftUI-вью, что даёт нативный AppKit-контейнер и при этом весь UI на современном фреймворке.
Единый источник правды через @AppStorage
Все пользовательские настройки централизованы в одном файле как static @AppStorage свойства. Это решает проблему синхронизации между основным окном, popover-ом и виджетом без сторонних библиотек.
Холивари как данные
База праздников — это in-memory структура на Swift размером около 380 КБ. Никакого Core Data, никакой сети — всё компилируется в бинарь. Это даёт мгновенный запуск, работу офлайн и идеальную работу в песочнице.
Подписка через StoreKit 2
Монетизация через современный StoreKit 2 с конфигурационным файлом для локального тестирования. Прозрачный paywall, явные кнопки восстановления покупок, корректное состояние подписки в реальном времени.
Локализация
Приложение полностью переведено на 4 языка: английский, русский, японский и упрощённый китайский. Тексты праздников адаптированы культурно, а не просто переведены машиной.
Технические требования
- macOS 14.0 (Sonoma) или новее
- Apple Silicon или Intel
- ~50 МБ свободного места
- Поддержка виджетов macOS