LifeOS
Личная система планирования: расписание дня по часам, привычки со стриками и привязка задач к долгосрочным целям. Вход через Google, все документы изолированы по владельцу в Firestore.
Обзор
LifeOS — личная система управления делами и планирования дня. Проект объединяет задачи, расписание, привычки, цели, аналитику и заметки за одним Google-входом.
Роль и scope
Solo Developer. Реализовал приложение на Next.js с Firebase Authentication и Firestore; код разделён на App Router, feature-компоненты, контексты, hooks и слой работы с данными.
Ключевые функции
- Today и Week для планирования задач по дням
- Schedule с почасовой временной шкалой
- Привычки с текущими и лучшими сериями
- Цели и связь целей с задачами
- Аналитика выполнения задач и активности привычек
- Заметки с историей по датам
- Профиль с данными Google-аккаунта
Архитектура
Next.js App Router использует feature-компоненты для Today, Habits, Schedule, Goals, Analytics и Notes. Firebase Authentication отвечает за вход, Firestore — за данные, а правила Firestore ограничивают документы владельцем. Общие подписки и операции вынесены в hooks и lib.
Технические решения
- Owner-scoped Firestore rules: документы доступны только соответствующему пользователю.
- Для расписания используется @dnd-kit/core, а не отдельный drag-and-drop слой.
- Графики аналитики сделаны вручную на SVG без charting-библиотеки.
- Поддержка русского и английского языков организована через next-intl и словари сообщений.