Skip to content

nn80nn/GameProgressTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Game Progress Tracker

Приложение для отслеживания прохождения компьютерных игр, разработанное на Java с JavaFX.

Функциональность

Основные возможности

  • Управление библиотекой игр - добавление, редактирование, удаление игр
  • Отслеживание прогресса - процент завершения, время игры, статус
  • Система рейтингов - оценка игр от 1 до 10
  • Категоризация - жанры, платформы, DLC
  • Поиск и фильтрация - по названию, статусу, жанру
  • Статистика - общая статистика и графики

Расширенные возможности

  • 🔄 Интеграция со Steam API - автоматический импорт библиотеки
  • 💾 Резервное копирование - автоматические бэкапы данных
  • 🔔 Уведомления - напоминания о незавершенных играх
  • ⏱️ Игровые сессии - отслеживание времени в реальном времени
  • 📊 Экспорт данных - в JSON и CSV форматы
  • 🎨 Обложки игр - загрузка и хранение изображений

Технический стек

  • Java 17+ - основной язык разработки
  • JavaFX 19 - графический интерфейс пользователя
  • SQLite - локальная база данных
  • Maven - управление зависимостями и сборка
  • Jackson - сериализация JSON
  • OkHttp - HTTP клиент для API
  • ControlsFX - расширенные UI компоненты

Требования к системе

  • Java 17 или выше
  • Maven 3.6+ (для сборки из исходного кода)
  • Операционная система: Windows 10+, macOS 10.14+, Ubuntu 18.04+
  • Оперативная память: минимум 512 MB
  • Свободное место: 100 MB для установки + место для данных

Установка и запуск

Способ 1: Запуск из исходного кода

  1. Клонирование репозитория

    git clone https://github.com/username/game-progress-tracker.git
    cd game-progress-tracker
  2. Сборка проекта

    mvn clean compile
  3. Запуск приложения

    mvn javafx:run

Способ 2: Создание исполняемого JAR

  1. Сборка JAR файла

    mvn clean package
  2. Запуск JAR

    java --module-path /path/to/javafx/lib --add-modules javafx.controls,javafx.fxml -jar target/game-progress-tracker-1.0.0.jar

Способ 3: Создание нативного установщика

  1. Создание установщика

    mvn clean package
    mvn jpackage:jpackage
  2. Установка - найти созданный установщик в папке target/installer/

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

game-progress-tracker/
├── src/main/java/com/gametracker/
│   ├── Main.java                    # Главный класс приложения
│   ├── controller/                  # JavaFX контроллеры
│   │   ├── MainWindowController.java
│   │   ├── AddGameDialogController.java
│   │   └── StatisticsDialogController.java
│   ├── model/                       # Модели данных
│   │   ├── Game.java
│   │   └── GameSession.java
│   ├── service/                     # Бизнес-логика
│   │   ├── DatabaseService.java
│   │   ├── GameService.java
│   │   ├── SteamApiService.java
│   │   ├── ExportImportService.java
│   │   ├── GameBackupService.java
│   │   ├── GameNotificationService.java
│   │   ├── GameSessionService.java
│   │   ├── SettingsService.java
│   │   ├── ImageService.java
│   │   └── ApplicationManager.java
│   └── util/                        # Утилиты
├── src/main/resources/
│   ├── fxml/                        # FXML файлы интерфейса
│   │   ├── MainWindow.fxml
│   │   ├── AddGameDialog.fxml
│   │   └── StatisticsDialog.fxml
│   ├── css/                         # Стили CSS
│   │   └── styles.css
│   └── images/                      # Иконки и изображения
├── src/test/java/                   # Тесты
├── covers/                          # Обложки игр (создается автоматически)
├── backups/                         # Резервные копии (создается автоматически)
├── gametracker.db                   # База данных SQLite
├── settings.json                    # Настройки приложения
└── pom.xml                          # Maven конфигурация

Использование

Добавление игр

  1. Нажмите кнопку "Добавить игру" или используйте меню "Игры"
  2. Заполните обязательные поля: название и статус
  3. Опционально добавьте жанр, платформу, рейтинг и заметки
  4. Установите прогресс прохождения с помощью слайдера

Отслеживание прогресса

  • Дважды щелкните по игре для редактирования
  • Обновите процент завершения и время игры
  • Статус автоматически изменится при достижении 100%

Фильтрация и поиск

  • Используйте поле поиска для фильтрации по названию
  • Выберите статус в выпадающем списке
  • Нажмите "Сбросить" для очистки фильтров

Статистика

  • Откройте статистику через меню "Просмотр"
  • Просмотрите общие показатели и диаграммы
  • Отслеживайте процент завершения библиотеки

Интеграция со Steam

  1. Получение Steam API ключа

  2. Настройка в приложении

    • Откройте настройки приложения
    • Введите полученный API ключ
    • Укажите ваш Steam ID
  3. Импорт библиотеки

    • Используйте функцию импорта из Steam
    • Выберите игры для добавления в трекер

Горячие клавиши

  • Ctrl+N - Добавить новую игру
  • Ctrl+E - Редактировать выбранную игру
  • Delete - Удалить выбранную игру
  • Ctrl+F - Фокус на поле поиска
  • Ctrl+R - Сбросить фильтры
  • F5 - Обновить список игр
  • Ctrl+S - Экспорт данных
  • Ctrl+Shift+S - Статистика

Настройки

Настройки сохраняются в файле settings.json и включают:

  • Steam API ключ - для интеграции со Steam
  • Автоматическое резервное копирование - интервал и включение/отключение
  • Уведомления - напоминания о незавершенных играх
  • Тема оформления - светлая/темная тема
  • Значения по умолчанию - жанр и платформа для новых игр

Резервное копирование

Приложение автоматически создает резервные копии:

  • База данных SQLite копируется в папку backups/
  • Дополнительно создается JSON экспорт
  • Старые копии (>30 дней) автоматически удаляются
  • Можно настроить интервал создания копий

Устранение проблем

Проблемы с запуском

  • Убедитесь, что установлена Java 17+
  • Проверьте переменную окружения JAVA_HOME
  • На некоторых системах может потребоваться указать путь к JavaFX модулям

Проблемы с базой данных

  • База данных создается автоматически при первом запуске
  • При ошибках БД проверьте права на запись в папке приложения
  • Можно восстановить данные из резервной копии

Проблемы со Steam API

  • Проверьте правильность API ключа
  • Убедитесь, что Steam ID указан корректно
  • Steam API имеет ограничения по частоте запросов

Планы развития

Версия 1.1

  • 🎮 Интеграция с Epic Games Store
  • 📱 Мобильное приложение-компаньон
  • 🌐 Синхронизация через облако

Версия 1.2

  • 🏆 Система достижений и целей
  • 📈 Расширенная аналитика
  • 🎯 Рекомендации игр

Версия 2.0

  • 👥 Социальные функции
  • 📝 Обзоры и комментарии
  • 🔗 Интеграция с игровыми сайтами

Лицензия

MIT License - свободное использование и модификация.

Поддержка

При возникновении проблем или предложений:

  • Создайте Issue в GitHub репозитории
  • Опишите шаги для воспроизведения проблемы
  • Укажите версию Java и операционную систему

Участие в разработке

Приветствуются Pull Request'ы для:

  • Исправления багов
  • Новой функциональности
  • Улучшения производительности
  • Переводов на другие языки

Перед отправкой PR убедитесь, что:

  • Код соответствует стилю проекта
  • Добавлены тесты для новой функциональности
  • Обновлена документация при необходимости

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published