Приложение для геймификации разработки - превращаем работу в игру!
DevGamify - это мой личный проект для мотивации в разработке. Идея простая: превратить ежедневные задачи программиста в квесты с системой уровней, опыта и достижений.
Вместо скучных TODO-листов у вас будет настоящая RPG-система! 🚀
- ** Система квестов** - создавайте daily, weekly или custom задачи
- ** Уровни и XP** - накапливайте опыт за выполнение квестов
- ** Стрики** - следите за ежедневной активностью
- ** Достижения** - разблокируйте награды за прогресс
- ** Аналитика** - красивые графики активности за 30 дней
- ** Локализация** - русский и английский языки
- ** Темы** - светлая и темная тема
- ** Экспорт данных** - сохраняйте прогресс в JSON/CSV
- React 18 - основа приложения
- TypeScript - типизация для надежности
- Vite - быстрая сборка и HMR
- Tailwind CSS - стилизация
- React Router - маршрутизация
- Zustand - легковесное управление состоянием
- React Hook Form - работа с формами
- Zod - валидация данных
- Recharts - графики и диаграммы
- Vitest - unit тесты
- Testing Library - тестирование компонентов
- Playwright - e2e тесты
- ESLint - линтинг
- Prettier - форматирование
- Husky - git hooks
- commitlint - проверка коммитов
- GitHub Actions - автоматизация
- Lighthouse CI - проверка производительности
- Vercel - деплой
# Клонируем репозиторий
git clone https://github.com/Ricbanker
cd devgamify
# Устанавливаем зависимости
npm install
# Запускаем в режиме разработки
npm run devОткройте http://localhost:5173 в браузере.
npm run dev # Запуск dev сервера
npm run build # Сборка для продакшена
npm run preview # Предварительный просмотр сборки
npm run test # Запуск тестов
npm run test:ui # Тесты с UI
npm run e2e # E2E тесты
npm run lint # Проверка кода
npm run format # Форматирование кодаsrc/
├── app/ # Основное приложение
│ ├── App.tsx # Корневой компонент
│ └── layout/ # Общий макет
├── features/ # Функциональные модули
│ ├── quests/ # Квесты
│ ├── achievements/ # Достижения
│ ├── stats/ # Статистика
│ └── user/ # Пользователь
├── pages/ # Страницы
├── shared/ # Общие компоненты
│ ├── ui/ # UI компоненты
│ ├── lib/ # Утилиты
│ └── hooks/ # Кастомные хуки
└── styles/ # Стили
- Feature-first - группировка по функциональности
- Чистые функции - бизнес-логика в
model/папках - Переиспользование - общие компоненты в
shared/ - Типизация - везде TypeScript
- JSON - полный экспорт всех данных
- CSV - экспорт истории квестов
- Демо-данные - генерация тестовых данных на 60 дней
- LocalStorage - персистентность данных
- Zustand persist - автоматическое сохранение
- A11y - поддержка скрин-ридеров, клавиатурной навигации
- i18n - русский и английский языки
- Темы - автоматическое переключение по системным настройкам
# Unit тесты
npm run test
# Тесты с покрытием
npm run test -- --coverage
# E2E тесты
npm run e2e
# Все тесты
npm run test && npm run e2e- Lighthouse Score: 95+ по всем метрикам
- Bundle Size: ~650KB (gzipped)
- First Paint: <1s
- LCP: <2s
npm run build
# Деплой через Vercel CLI или GitHub интеграциюnpm run build
# Файлы в dist/ готовы для деплоя- Форкните репозиторий
- Создайте ветку для фичи (
git checkout -b feature/amazing-feature) - Закоммитьте изменения (
git commit -m 'Add amazing feature') - Запушьте в ветку (
git push origin feature/amazing-feature) - Откройте Pull Request
MIT License - используйте как хотите!
- GitHub: @yourusername
- Email: your.email@example.com
- Twitter: @yourusername