Приложение для отслеживания прохождения компьютерных игр, разработанное на 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 для установки + место для данных
-
Клонирование репозитория
git clone https://github.com/username/game-progress-tracker.git cd game-progress-tracker
-
Сборка проекта
mvn clean compile
-
Запуск приложения
mvn javafx:run
-
Сборка JAR файла
mvn clean package
-
Запуск JAR
java --module-path /path/to/javafx/lib --add-modules javafx.controls,javafx.fxml -jar target/game-progress-tracker-1.0.0.jar
-
Создание установщика
mvn clean package mvn jpackage:jpackage
-
Установка - найти созданный установщик в папке
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 конфигурация
- Нажмите кнопку "Добавить игру" или используйте меню "Игры"
- Заполните обязательные поля: название и статус
- Опционально добавьте жанр, платформу, рейтинг и заметки
- Установите прогресс прохождения с помощью слайдера
- Дважды щелкните по игре для редактирования
- Обновите процент завершения и время игры
- Статус автоматически изменится при достижении 100%
- Используйте поле поиска для фильтрации по названию
- Выберите статус в выпадающем списке
- Нажмите "Сбросить" для очистки фильтров
- Откройте статистику через меню "Просмотр"
- Просмотрите общие показатели и диаграммы
- Отслеживайте процент завершения библиотеки
-
Получение Steam API ключа
- Зайдите на https://steamcommunity.com/dev/apikey
- Зарегистрируйте приложение и получите ключ
-
Настройка в приложении
- Откройте настройки приложения
- Введите полученный API ключ
- Укажите ваш Steam ID
-
Импорт библиотеки
- Используйте функцию импорта из 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 модулям
- База данных создается автоматически при первом запуске
- При ошибках БД проверьте права на запись в папке приложения
- Можно восстановить данные из резервной копии
- Проверьте правильность API ключа
- Убедитесь, что Steam ID указан корректно
- Steam API имеет ограничения по частоте запросов
- 🎮 Интеграция с Epic Games Store
- 📱 Мобильное приложение-компаньон
- 🌐 Синхронизация через облако
- 🏆 Система достижений и целей
- 📈 Расширенная аналитика
- 🎯 Рекомендации игр
- 👥 Социальные функции
- 📝 Обзоры и комментарии
- 🔗 Интеграция с игровыми сайтами
MIT License - свободное использование и модификация.
При возникновении проблем или предложений:
- Создайте Issue в GitHub репозитории
- Опишите шаги для воспроизведения проблемы
- Укажите версию Java и операционную систему
Приветствуются Pull Request'ы для:
- Исправления багов
- Новой функциональности
- Улучшения производительности
- Переводов на другие языки
Перед отправкой PR убедитесь, что:
- Код соответствует стилю проекта
- Добавлены тесты для новой функциональности
- Обновлена документация при необходимости