{"id":51032704,"url":"https://github.com/ignavan39/mood_diary_tui","last_synced_at":"2026-06-22T02:02:07.764Z","repository":{"id":349537203,"uuid":"1198262968","full_name":"ignavan39/mood_diary_tui","owner":"ignavan39","description":"Beautiful terminal mood tracker with interactive TUI interface. Track your emotions, analyze trends, and take care of your mental health","archived":false,"fork":false,"pushed_at":"2026-05-14T11:10:55.000Z","size":284,"stargazers_count":3,"open_issues_count":6,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-14T12:09:02.825Z","etag":null,"topics":["clean-architecture","cli","ddd","go","go-cli-example","go-tui","golang","golang-application","i18n","i18n-golang","mood-diary","mood-tracker","mood-tracking","terminal-app","terminal-ui","tui","tui-app"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ignavan39.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-01T09:02:48.000Z","updated_at":"2026-05-14T11:10:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ignavan39/mood_diary_tui","commit_stats":null,"previous_names":["ignavan39/mood_diary_tui"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ignavan39/mood_diary_tui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignavan39%2Fmood_diary_tui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignavan39%2Fmood_diary_tui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignavan39%2Fmood_diary_tui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignavan39%2Fmood_diary_tui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ignavan39","download_url":"https://codeload.github.com/ignavan39/mood_diary_tui/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignavan39%2Fmood_diary_tui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34630770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clean-architecture","cli","ddd","go","go-cli-example","go-tui","golang","golang-application","i18n","i18n-golang","mood-diary","mood-tracker","mood-tracking","terminal-app","terminal-ui","tui","tui-app"],"created_at":"2026-06-22T02:02:04.004Z","updated_at":"2026-06-22T02:02:07.751Z","avatar_url":"https://github.com/ignavan39.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cstrong\u003e\n    \u003ca href=\"#-english\"\u003e🇬🇧 English\u003c/a\u003e • \n    \u003ca href=\"#-russian\"\u003e🇷🇺 Русский\u003c/a\u003e\n  \u003c/strong\u003e\n\u003c/p\u003e\n\n---\n\n\u003ca id=\"-english\"\u003e\u003c/a\u003e\n# Mood Diary TUI\n![Go Version](https://img.shields.io/badge/Go-1.21+-00ADD8?style=flat\u0026logo=go)\n![License](https://img.shields.io/badge/License-MIT-green.svg)\n![Platform](https://img.shields.io/badge/Platform-Linux-orange.svg)\n\n\nBeautiful terminal mood tracker with interactive TUI interface. Track your emotions, analyze trends, and take care of your mental health.\n\n![main](./.assets/main-en.png)\n\n\n## ✨ Features\n\n- **Mood Tracking** — Rate your day from 0 to 10 with emoji feedback\n- **Interactive Statistics** — Visual charts, trends, and mood distribution\n- **History View** — Browse all previous entries in a clean table\n- **Pastel UI** — Soft, eye-friendly color scheme with Lipgloss\n- **Keyboard + Mouse Support** — Navigate with arrows, hjkl, or click\n- **Local-First** — All data stored locally in SQLite (no cloud required)\n- **Clean Architecture** — DDD principles, testable, maintainable code\n\n## 🛠️ Tech Stack\n\n| Component | Technology |\n|-----------|-----------|\n| **Language** | Go 1.21+ |\n| **TUI Framework** | [Bubble Tea](https://github.com/charmbracelet/bubbletea) — The Elm Architecture for terminal |\n| **Styling** | [Lipgloss](https://github.com/charmbracelet/lipgloss) — Styles and colors |\n| **Components** | [Bubbles](https://github.com/charmbracelet/bubbles) — Ready-made UI components |\n| **Database** | SQLite with go-sqlite3 driver |\n| **UUID** | Google UUID |\n\n## 🚀 Installation\n```bash\ncurl -fsSL https://raw.githubusercontent.com/ignavan39/mood_diary_tui/master/install.sh | sh\n```\n\n### Prerequisites\n\n- Go 1.21 or higher\n- GCC (for SQLite C bindings compilation)\n- Linux/macOS (or WSL on Windows)\n\n### Clone Repository\n\n```bash\ngit clone https://github.com/ignavan39/mood_diary_tui.git\ncd mood_diary_tui\n```\n\n### Install Dependencies\n\n```bash\ngo mod download\n```\n\n### Build Application\n\n```bash\ngo build -o mood-diary ./cmd/mood-diary\n```\n\n### Run\n\n```bash\n./mood-diary\n```\n\nOr run directly with Go:\n\n```bash\ngo run ./cmd/mood-diary\n```\n\n### Install to PATH (Optional)\n\n```bash\nmake install\n# Adds binary to ~/.local/bin/mood-diary\n# Make sure ~/.local/bin is in your $PATH\n```\n\n## 🎮 Usage\n\n### Main Menu\n\nOn launch, you'll see the main menu with options:\n\n```\n→ 📝 Record mood today\n  📊 View statistics\n  📅 History\n  ❌ Exit\n```\n\n**Controls:**\n- `↑/↓` or `j/k` — Navigate menu\n- `Enter` — Select option\n- `q` or `Ctrl+C` — Quit\n\n### Recording a Mood\n\n1. Select \"Record mood\" from main menu\n2. Use `←/→` to choose mood level (0–10)\n3. Press `Enter` to add an optional note\n4. Confirm with `y` or `Enter`\n\n**Mood Scale:**\n```\n😢 😞 😔 😕 😐 😶 🙂 😊 😄 😁 🤩\n0  1  2  3  4  5  6  7  8  9  10\n```\n\n### Viewing Statistics\n\nStatistics display:\n- **Total entries** for selected period\n- **Average mood** level\n- **Trend** — improving, worsening, or stable\n- **Distribution** — histogram by mood levels\n- **Dynamics** — sparkline chart of mood changes\n\n**Periods:**\n- Week (7 days)\n- Month (30 days)\n- Quarter (90 days)\n- Year (365 days)\n- All time\n\n**Controls:**\n- `←/→` — Switch periods\n- `r` — Refresh data\n- `Esc` — Return to menu\n\n### History View\n\nBrowse all previous entries in table format:\n\n```\nDate       Mood   Note\n──────────────────────────────────────────\n01.04.2026 😊 8/10 Great day!\n31.03.2026 😐 5/10 Regular day\n30.03.2026 😄 9/10 Finished project\n```\n\n**Controls:**\n- `↑/↓` or `j/k` — Navigate entries\n- `Enter` — Edit entry (WIP)\n- `r` — Refresh list\n- `Esc` — Return to menu\n\n## 🏗️ Architecture\n\nProject follows **Domain-Driven Design (DDD)** and **Clean Architecture** principles:\n\n```\nmood_diary_tui/\n├── cmd/\n│   └── mood-diary/     # Application entry point\n│       └── main.go\n├── internal/\n│   ├── domain/         # Business logic (core)\n│   │   ├── entity/     # Entities\n│   │   ├── repository/ # Repository interfaces\n│   │   └── service/    # Domain services\n│   ├── application/    # Application layer\n│   │   └── usecase/    # Use Cases (business scenarios)\n│   ├── infrastructure/ # Infrastructure layer\n│   │   ├── persistence/# Repository implementations\n│   │   └── database/   # DB configuration\n│   └── presentation/   # Presentation layer\n│       ├── tui/        # TUI components\n│       └── styles/     # Styles and colors\n├── go.mod\n├── go.sum\n└── README.md\n```\n\n### Architecture Layers\n\n#### 1. Domain Layer\n- **Entity**: `MoodEntry` — main entity with validation\n- **Value Objects**: `MoodLevel` — mood level (0-10)\n- **Repository Interfaces**: Abstractions for data access\n\n#### 2. Application Layer\n- **Use Cases**: `MoodService` — business scenarios (record, update, statistics)\n\n#### 3. Infrastructure Layer\n- **Database**: SQLite configuration with migrations\n- **Repository**: `SQLiteMoodRepository` — repository implementation\n\n#### 4. Presentation Layer\n- **TUI**: Interactive screens built with Bubble Tea\n- **Styles**: Pastel color scheme\n\n## 🗄️ Database\n\n### Schema\n\n```sql\nCREATE TABLE mood_entries (\n    id TEXT PRIMARY KEY,\n    date DATE NOT NULL UNIQUE,\n    level INTEGER NOT NULL CHECK(level \u003e= 0 AND level \u003c= 10),\n    note TEXT,\n    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n    updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP\n);\n\n-- Indexes for fast queries\nCREATE INDEX idx_mood_entries_date ON mood_entries(date DESC);\nCREATE INDEX idx_mood_entries_date_range ON mood_entries(date);\n```\n\n### Location\n\nDatabase is created automatically at:\n```\n~/.mood-diary/mood_diary.db\n```\n\n### Features\n\n- **WAL Mode** — Write-Ahead Logging for better performance\n- **Unique constraint** on date — only one entry per day\n- **Automatic triggers** for `updated_at` updates\n- **Soft delete** support (WIP)\n\n## 🎨 Color Scheme\n\nApplication uses a pastel color palette for comfortable viewing:\n\n```go\n// Main colors\nPastelPink    #FFB3BA\nPastelPeach   #FFDFBA\nPastelYellow  #FFFFBA\nPastelMint    #BAFFC9\nPastelSky     #BAE1FF\nPastelLavender #D4BAFF\nPastelRose    #FFBAE8\n```\n\n### Mood Gradient\n\nColors transition from **pastel red** (sad) to **pastel blue** (happy):\n\n```\n😢 → 😞 → 😔 → 😕 → 😐 → 😶 → 🙂 → 😊 → 😄 → 😁 → 🤩\n🔴 → 🟠 → 🟡 → ⚪ → 🔵 → 💙\n```\n\n## 🔧 Development\n\n### Adding New Features\n\n1. **Domain Layer**: Add new entities or value objects\n2. **Repository**: Extend repository interface\n3. **Use Case**: Create new use case in application layer\n4. **TUI**: Add new screen or component\n\n### Example: Adding Tags to Entries\n\n```go\n// 1. Domain Entity\ntype Tag struct {\n    ID   uuid.UUID\n    Name string\n}\n\n// 2. Repository\ntype TagRepository interface {\n    Create(ctx context.Context, tag *Tag) error\n    FindByMoodID(ctx context.Context, moodID uuid.UUID) ([]*Tag, error)\n}\n\n// 3. Use Case\nfunc (s *MoodService) AddTag(ctx context.Context, moodID uuid.UUID, tag string) error {\n    // Implementation\n}\n\n// 4. TUI Screen\ntype TagsScreen struct {\n    // Implementation\n}\n```\n\n## 📊 Statistics \u0026 Metrics\n\nApplication calculates:\n\n- **Average mood** level for period\n- **Trend** — linear regression over recent entries\n- **Distribution** — count of entries per mood level\n- **Dynamics** — sparkline chart of changes\n\n### Trend Formula\n\n```\nTrend = AverageSecondHalf - AverageFirstHalf\n\n\u003e 0.5  : Improving ↑\n\u003c -0.5 : Worsening ↓\nelse   : Stable ─\n```\n\n## 🤝 Contributing\n\nContributions are welcome!\n\n### How to Contribute\n\n1. Fork the repository\n2. Create feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit changes (`git commit -m 'Add amazing feature'`)\n4. Push to branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n### Code Style\n\n- Follow Go standards (`gofmt`, `golint`)\n- Document public functions\n- Adhere to Clean Architecture principles\n\n## 📝 TODO\n\n- [ ] Data export (CSV, JSON)\n- [ ] Data import\n- [ ] Tags and categories\n- [ ] Search notes\n- [ ] Advanced visualization (calendar heatmap)\n- [ ] Reminder notifications\n- [ ] Backup/Restore functionality\n- [ ] Additional themes\n- [ ] Internationalization (more languages)\n\n## 📄 License\n\nMIT License — see [LICENSE](LICENSE) for details.\n\n## 👨‍💻 Author\n\n**Ivan Ignatenko**\n- GitHub: [@ignavan39](https://github.com/ignavan39)\n\n\u003e 💙 *Take care of your mental health, one day at a time.*\n\n---\n\n\u003ca id=\"-russian\"\u003e\u003c/a\u003e\n# Дневник Настроения TUI\n\n![Go Version](https://img.shields.io/badge/Go-1.21+-00ADD8?style=flat\u0026logo=go)\n![License](https://img.shields.io/badge/License-MIT-green.svg)\n![Platform](https://img.shields.io/badge/Platform-Linux-orange.svg)\n\n\n\nКрасивый терминальный дневник настроения с интерактивным интерфейсом. Отслеживайте свои эмоции, анализируйте тренды и заботьтесь о своём ментальном здоровье.\n\n![main](./.assets/main-ru.png)\n\n## ✨ Возможности\n\n- **Запись настроения** — Отмечайте своё настроение по шкале от 0 до 10 с эмодзи\n- **Интерактивная статистика** — Визуализация данных с графиками и трендами\n- **История записей** — Просмотр всех предыдущих записей в табличном формате\n- **Пастельный интерфейс** — Приятный глазу интерфейс в мягких тонах через Lipgloss\n- **Удобная навигация** — Управление клавиатурой и мышью\n- **Локальное хранение** — Все данные хранятся локально в SQLite, без облака\n- **Чистая архитектура** — Принципы DDD, тестируемость, поддержка кода\n\n## 🛠️ Технологии\n\n| Компонент | Технология |\n|-----------|-----------|\n| **Язык** | Go 1.21+ |\n| **TUI Framework** | [Bubble Tea](https://github.com/charmbracelet/bubbletea) — The Elm Architecture для терминала |\n| **Стилизация** | [Lipgloss](https://github.com/charmbracelet/lipgloss) — Стили и цвета |\n| **Компоненты** | [Bubbles](https://github.com/charmbracelet/bubbles) — Готовые UI компоненты |\n| **База данных** | SQLite с драйвером go-sqlite3 |\n| **UUID** | Google UUID |\n\n## 🚀 Установка\n```bash\ncurl -fsSL https://raw.githubusercontent.com/ignavan39/mood_diary_tui/master/install.sh | sh\n```\n### Предварительные требования\n\n- Go 1.21 или выше\n- GCC (для компиляции C-привязок SQLite)\n- Linux/macOS (или WSL на Windows)\n\n### Клонирование репозитория\n\n```bash\ngit clone https://github.com/ignavan39/mood_diary_tui.git\ncd mood_diary_tui\n```\n\n### Установка зависимостей\n\n```bash\ngo mod download\n```\n\n### Сборка приложения\n\n```bash\ngo build -o mood-diary ./cmd/mood-diary\n```\n\n### Запуск\n\n```bash\n./mood-diary\n```\n\nИли напрямую через Go:\n\n```bash\ngo run ./cmd/mood-diary\n```\n\n### Установка в PATH (опционально)\n\n```bash\nmake install\n# Бинарник добавится в ~/.local/bin/mood-diary\n# Убедитесь, что ~/.local/bin есть в $PATH\n```\n\n## 🎮 Использование\n\n### Главное меню\n\nПри запуске вы увидите главное меню с опциями:\n\n```\n→ 📝 Записать настроение\n  📊 Посмотреть статистику\n  📅 История записей\n  ❌ Выход\n```\n\n**Управление:**\n- `↑/↓` или `j/k` — навигация\n- `Enter` — выбор\n- `q` или `Ctrl+C` — выход\n\n### Запись настроения\n\n1. Выберите \"Записать настроение\" в главном меню\n2. Используйте `←/→` для выбора уровня настроения (0–10)\n3. Нажмите `Enter` для перехода к заметке\n4. Введите заметку (необязательно) и нажмите `Enter`\n5. Подтвердите запись нажатием `y` или `Enter`\n\n**Шкала настроений:**\n```\n😢 😞 😔 😕 😐 😶 🙂 😊 😄 😁 🤩\n0  1  2  3  4  5  6  7  8  9  10\n```\n\n### Просмотр статистики\n\nСтатистика показывает:\n- **Всего записей** за выбранный период\n- **Средний уровень** настроения\n- **Тренд** — улучшается, ухудшается или стабильно\n- **Распределение** — гистограмма по уровням настроения\n- **Динамика** — график изменения настроения за период\n\n**Периоды:**\n- Неделя (7 дней)\n- Месяц (30 дней)\n- Квартал (90 дней)\n- Год (365 дней)\n- Всё время\n\n**Управление:**\n- `←/→` — переключение периодов\n- `r` — обновить данные\n- `Esc` — вернуться в меню\n\n### История записей\n\nПросмотр всех предыдущих записей в табличном формате:\n\n```\nДата       Настроение  Заметка\n──────────────────────────────────────────\n01.04.2026 😊 8/10     Отличный день!\n31.03.2026 😐 5/10     Обычный день\n30.03.2026 😄 9/10     Закончил проект\n```\n\n**Управление:**\n- `↑/↓` или `j/k` — навигация по записям\n- `Enter` — редактировать запись (в разработке)\n- `r` — обновить список\n- `Esc` — вернуться в меню\n\n## 🏗️ Архитектура\n\nПроект следует принципам **Domain-Driven Design (DDD)** и **Clean Architecture**:\n\n```\nmood_diary_tui/\n├── cmd/\n│   └── mood-diary/     # Точка входа приложения\n│       └── main.go\n├── internal/\n│   ├── domain/         # Бизнес-логика (ядро)\n│   │   ├── entity/     # Сущности\n│   │   ├── repository/ # Интерфейсы репозиториев\n│   │   └── service/    # Доменные сервисы\n│   ├── application/    # Прикладной слой\n│   │   └── usecase/    # Use Cases (бизнес-сценарии)\n│   ├── infrastructure/ # Инфраструктурный слой\n│   │   ├── persistence/# Реализации репозиториев\n│   │   └── database/   # Конфигурация БД\n│   └── presentation/   # Слой представления\n│       ├── tui/        # TUI компоненты\n│       └── styles/     # Стили и цвета\n├── go.mod\n├── go.sum\n└── README.md\n```\n\n### Слои архитектуры\n\n#### 1. Domain Layer (Доменный слой)\n- **Entity**: `MoodEntry` — основная сущность с валидацией\n- **Value Objects**: `MoodLevel` — уровень настроения (0-10)\n- **Repository Interfaces**: Абстракции для работы с данными\n\n#### 2. Application Layer (Прикладной слой)\n- **Use Cases**: `MoodService` — бизнес-сценарии (запись, обновление, статистика)\n\n#### 3. Infrastructure Layer (Инфраструктурный слой)\n- **Database**: Конфигурация SQLite с миграциями\n- **Repository**: `SQLiteMoodRepository` — реализация репозитория\n\n#### 4. Presentation Layer (Слой представления)\n- **TUI**: Интерактивные экраны на Bubble Tea\n- **Styles**: Пастельная цветовая схема\n\n## 🗄️ База данных\n\n### Схема\n\n```sql\nCREATE TABLE mood_entries (\n    id TEXT PRIMARY KEY,\n    date DATE NOT NULL UNIQUE,\n    level INTEGER NOT NULL CHECK(level \u003e= 0 AND level \u003c= 10),\n    note TEXT,\n    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n    updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP\n);\n\n-- Индексы для быстрого поиска\nCREATE INDEX idx_mood_entries_date ON mood_entries(date DESC);\nCREATE INDEX idx_mood_entries_date_range ON mood_entries(date);\n```\n\n### Расположение\n\nБаза данных создаётся автоматически в:\n```\n~/.mood-diary/mood_diary.db\n```\n\n### Особенности\n\n- **WAL Mode** — Write-Ahead Logging для лучшей производительности\n- **Unique constraint** на дату — только одна запись в день\n- **Автоматические триггеры** для обновления `updated_at`\n- **Soft delete** поддержка (в разработке)\n\n## 🎨 Цветовая схема\n\nПриложение использует следующую цветовую палитру для комфортного просмотра:\n\n```go\n// Основные цвета\nPastelPink    #FFB3BA\nPastelPeach   #FFDFBA\nPastelYellow  #FFFFBA\nPastelMint    #BAFFC9\nPastelSky     #BAE1FF\nPastelLavender #D4BAFF\nPastelRose    #FFBAE8\n```\n\n### Градиент настроений\n\nЦвета меняются от **пастельно-красного** (грустно) до **пастельно-голубого** (счастливо):\n\n```\n😢 → 😞 → 😔 → 😕 → 😐 → 😶 → 🙂 → 😊 → 😄 → 😁 → 🤩\n🔴 → 🟠 → 🟡 → ⚪ → 🔵 → 💙\n```\n\n## 🔧 Разработка\n\n### Добавление новых функций\n\n1. **Доменный слой**: Добавьте новые entity или value objects\n2. **Репозиторий**: Расширьте интерфейс репозитория\n3. **Use Case**: Создайте новый use case в application layer\n4. **TUI**: Добавьте новый экран или компонент\n\n### Пример: Добавление тегов к записям\n\n```go\n// 1. Domain Entity\ntype Tag struct {\n    ID   uuid.UUID\n    Name string\n}\n\n// 2. Repository\ntype TagRepository interface {\n    Create(ctx context.Context, tag *Tag) error\n    FindByMoodID(ctx context.Context, moodID uuid.UUID) ([]*Tag, error)\n}\n\n// 3. Use Case\nfunc (s *MoodService) AddTag(ctx context.Context, moodID uuid.UUID, tag string) error {\n    // Implementation\n}\n\n// 4. TUI Screen\ntype TagsScreen struct {\n    // Implementation\n}\n```\n\n## 📊 Статистика и метрики\n\nПриложение вычисляет:\n\n- **Средний уровень** настроения за период\n- **Тренд** — линейная регрессия за последние записи\n- **Распределение** — количество записей по каждому уровню\n- **Динамика** — sparkline график изменений\n\n### Формула тренда\n\n```\nТренд = СреднееВторойПоловины - СреднееПервойПоловины\n\n\u003e 0.5  : Улучшается ↑\n\u003c -0.5 : Ухудшается ↓\nelse   : Стабильно ─\n```\n\n## 🤝 Участие в разработке\n\nПриветствуются contributions!\n\n### Как внести вклад\n\n1. Fork репозиторий\n2. Создайте feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit изменения (`git commit -m 'Add amazing feature'`)\n4. Push в branch (`git push origin feature/amazing-feature`)\n5. Откройте Pull Request\n\n### Code Style\n\n- Следуйте стандартам Go (`gofmt`, `golint`)\n- Документируйте публичные функции\n- Придерживайтесь принципов Clean Architecture\n\n## 📝 TODO\n\n- [ ] Экспорт данных (CSV, JSON)\n- [ ] Импорт данных\n- [ ] Теги и категории\n- [ ] Поиск по заметкам\n- [ ] Более сложная визуализация (календарь-тепловая карта)\n- [ ] Напоминания о записи\n- [ ] Backup/Restore функциональность\n- [ ] Дополнительные темы оформления\n- [ ] Интернационализация (больше языков)\n\n## 📄 Лицензия\n\nMIT License — подробности в файле [LICENSE](LICENSE).\n\n## 👨‍💻 Автор\n\n**Иван Игнатенко**\n- GitHub: [@ignavan39](https://github.com/ignavan39)\n\n\u003e 💙 *Заботьтесь о своём ментальном здоровье — один день за раз.*\n\n---\n```\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fignavan39%2Fmood_diary_tui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fignavan39%2Fmood_diary_tui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fignavan39%2Fmood_diary_tui/lists"}