Skip to content

WarLikeLaux/strike-v

Repository files navigation

⚡️ Strike V

Hero Banner

Status License: MIT Vue 3 Vite Tailwind CSS

Геймифицированный трекер привычек, созданный для победы над исполнительной дисфункцией. Strike V превращает рутину в игру, где любая большая цель — это скала, которую нужно разбить.

🎯 Суть проекта

Вместо бесконечных списков дел — простая и мощная механика:

  • Метафора: ваша цель — это монолитная скала с определенным запасом HP.
  • Правило 5 ударов: у вас есть ровно 5 слотов для задач. Это заставляет фокусироваться только на самом важном.
  • Прогресс: каждый выполненный пункт — это удар киркой 🔨. Удар уменьшает здоровье скалы.
  • Импульс: мгновенная визуальная и звуковая обратная связь за каждое действие.

✨ Основные функции

  • Main & Side Quests: ведите одну глобальную цель и сколько угодно побочных квестов.
  • Умные типы задач:
    • Привычка: многократное выполнение в течение срока.
    • Джокер: разовая задача для «разбавления» рутины.
    • Замещение: временная задача на один день для гибкости.
  • Режимы игры:
    • 🎯 Фокус-режим: показывает только одну задачу за раз, помогая не распыляться.
    • 🔥 Хардмод: блокирует доступ к сайд-квестам, пока вы не выполнили норму по основной цели.
  • Предустановки (Presets): 4 готовых набора задач:
    • Путь Программиста (90 дней) — кодинг, гиты, алгоритмы
    • Английский: Базовый (30 дней) — слова, чтение, прослушивание
    • Осознанность (30 дней) — медитация, йога, цифровая гигиена
    • Похудение и Здоровье (60 дней) — фитнес, питание, восстановление
  • Локальное хранилище: все данные сохраняются в браузере с поддержкой экспорта и импорта для бэкапа.
  • Экспорт/импорт: сохраняйте игру как JSON файл или используйте сжатый ключ (Base64) для быстрого обмена состоянием.
  • Атмосфера: динамический фон (туман), звуковые эффекты и реактивные комментарии от самой «Скалы».

🛠 Технологический стек

Frontend:

  • Vue 3 (Composition API) с типизацией TypeScript
  • Vite (с rolldown-vite для Rust-бандлинга) — молниеносная сборка
  • Tailwind CSS 4 для стилизации
  • Floating Vue для системы подсказок

Утилиты:

  • pako — сжатие состояния игры (DEFLATE)
  • Плавные анимации через CSS transitions

Тестирование:

  • Vitest с покрытием кода
  • @vue/test-utils для компонент-тестов

Note

Проект использует rolldown-vite — экспериментальный Rust-бандлер для ускорения сборки.

⚙️ Настройки

  • День начинается в: Настраивается час, с которого считается новый день (0-23)
  • Фокус-режим: Показывает одну случайную задачу, помогает избежать перегруза
  • Хардмод: Блокирует побочные квесты до выполнения нормы основного квеста
  • Звуки: Включайте/отключайте звуковые эффекты
  • Подсказки: Всплывающие описания функций интерфейса

📦 Экспорт и импорт

JSON Экспорт:

  • Сохраняет полное состояние игры в читаемом формате
  • Используйте для резервных копий или обмена между устройствами
  • Скачивается как rock-breaker-YYYY-MM-DD.json

Сжатый ключ:

  • Компактное представление состояния (Base64 + DEFLATE)
  • Идеален для быстрого обмена через текст
  • Копируйте и вставляйте в настройках приложения

🚀 Как запустить

  1. Установите зависимости:
    pnpm install
  2. Запустите сервер разработки:
    pnpm dev
  3. Сборка проекта:
    pnpm build

👨‍💻 Разработка

Полезные команды:

pnpm lint # Проверка кода (ESLint) pnpm lint:fix # Автоисправление стиля pnpm test # Запуск unit-тестов pnpm test:watch # Интерактивный режим тестов pnpm test:coverage # Отчет о покрытии кода

Структура проекта:

src/ ├── features/ # Модули функционала │ ├── game/ # Основная игровая логика │ ├── settings/ # Настройки и предустановки │ ├── tasks/ # Управление задачами │ └── help/ # Справка и информация ├── shared/ # Переиспользуемые утилиты и компоненты │ ├── utils/ # Функции (обработка дат, сжатие) │ ├── constants/ # Игровые константы │ └── types/ # TypeScript интерфейсы 

Strike V — превратите «надо» в «удар»!

About

Геймифицированный трекер привычек, созданный для победы над исполнительной дисфункцией. Проект превращает рутину в игру, где большая цель - это Скала, которую нужно разбить.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors