Skip to content

Latest commit

 

History

History
219 lines (165 loc) · 5.5 KB

File metadata and controls

219 lines (165 loc) · 5.5 KB

🎮 Game Deals Viewer

Aplikacja do przeglądania promocji ze Steam i darmowych gier z Epic Games Store.

✨ Funkcje

  • Promocje Steam - najlepsze zniżki pobierane z CheapShark API
  • Darmowe gry Epic Games - aktualna tygodniowa oferta
  • Darmowe gry GOG - sprawdzanie giveaway na GOG.com
  • Zakładka Wesprzyj - możliwość wsparcia autora projektu
  • Wsparcie Wayland - natywne działanie na Wayland
  • Automatyczne sprawdzanie zależności przy starcie
  • Auto-odświeżanie co 30 minut
  • Responsywny interfejs - działa na każdej dystrybucji
  • Otwieranie w przeglądarce - bezpośredni link do oferty

📦 Wymagania

Zależności do kompilacji:

  • g++ (kompilator C++)
  • CMake (>= 3.16)
  • Qt6 (Core, Widgets, Network)
  • libcurl

Środowisko uruchomieniowe:

  • Linux (dowolna dystrybucja)
  • Wayland lub X11
  • Połączenie internetowe

🔧 Instalacja zależności

Ubuntu / Debian:

sudo apt update
sudo apt install -y build-essential cmake qt6-base-dev libqt6widgets6 libqt6network6 libcurl4-openssl-dev

Fedora:

sudo dnf install gcc-c++ cmake qt6-qtbase-devel libcurl-devel

Arch Linux:

sudo pacman -S base-devel cmake qt6-base curl

openSUSE:

sudo zypper install gcc-c++ cmake qt6-base-devel libcurl-devel

🛠️ Kompilacja

Automatyczna (zalecane):

cd game-deals-viewer
./build.sh

Skrypt automatycznie:

  1. Sprawdzi wszystkie zależności
  2. Skonfiguruje projekt
  3. Skompiluje program
  4. Poinformuje o lokalizacji pliku wykonywalnego

Manualna:

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)

🚀 Uruchomienie

Opcja 1: Flatpak (ZALECANE! 🎯)

Najłatwiejsza metoda - działa na wszystkich dystrybucjach:

# Zainstaluj narzędzia (jednorazowo)
sudo pacman -S flatpak flatpak-builder  # Arch
sudo apt install flatpak flatpak-builder  # Ubuntu/Mint

# Dodaj Flathub
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# Zbuduj i zainstaluj
./build_flatpak.sh

# Uruchom
flatpak run io.github.gameradar.GameRadar
# Lub znajdź w menu aplikacji jako "GameRadar"

Zalety Flatpak:

  • ✅ Działa na wszystkich dystrybucjach
  • ✅ Pojawia się w menu aplikacji
  • ✅ Bezpieczny (sandbox)
  • ✅ Prosty w użyciu

Więcej informacji: FLATPAK.md

Opcja 2: Binarka (tradycyjna metoda)

Z katalogu build:

./build/GameDealsViewer

Instalacja w systemie:

cd build
sudo make install

Po instalacji program będzie dostępny jako:

GameDealsViewer

Tworzenie pliku .bin (opcjonalne):

Jeśli chcesz mieć plik o rozszerzeniu .bin:

cp build/GameDealsViewer GameDealsViewer.bin
chmod +x GameDealsViewer.bin
./GameDealsViewer.bin

📱 Użytkowanie

  1. Uruchom program - automatycznie pobierze aktualne oferty
  2. Przeglądaj oferty - przewijaj listę promocji
  3. Kliknij "Otwórz w przeglądarce" - przejdź bezpośrednio do oferty
  4. Odśwież ręcznie - przycisk "🔄 Odśwież"
  5. Auto-odświeżanie - co 30 minut automatycznie

🖥️ Wsparcie dla Wayland

Program natywnie wspiera Wayland. Jeśli używasz Wayland:

  • Program automatycznie wykryje i użyje Wayland
  • Wyświetli informację w statusie: "Sesja: WAYLAND"

Jeśli Wayland nie jest dostępny:

  • Program użyje X11 jako fallback
  • Wszystko będzie działać normalnie

🐛 Rozwiązywanie problemów

Program nie uruchamia się:

# Sprawdź zależności
ldd ./build/GameDealsViewer

# Uruchom z debugiem
QT_DEBUG_PLUGINS=1 ./build/GameDealsViewer

Brak połączenia z API:

  • Sprawdź połączenie internetowe
  • Sprawdź czy firewall nie blokuje połączeń
  • Niektóre sieci korporacyjne mogą blokować API

Problem z Wayland:

# Wymuś X11
QT_QPA_PLATFORM=xcb ./build/GameDealsViewer

📝 Struktura projektu

game-deals-viewer/
├── CMakeLists.txt                          # Konfiguracja CMake
├── build.sh                                # Skrypt kompilacji
├── build_flatpak.sh                        # Skrypt budowania Flatpak
├── io.github.gameradar.GameRadar.json     # Manifest Flatpak
├── io.github.gameradar.GameRadar.desktop  # Plik desktop
├── io.github.gameradar.GameRadar.svg      # Ikona
├── README.md                               # Ten plik
├── FLATPAK.md                              # Dokumentacja Flatpak
└── src/
    ├── main.cpp                            # Punkt wejścia
    ├── mainwindow.h/cpp                    # Główne okno aplikacji
    ├── apimanager.h/cpp                    # Manager API
    ├── dealcard.h/cpp                      # Widget karty oferty
    └── translator.h/cpp                    # System tłumaczeń

🔄 API używane przez program

  • CheapShark API - promocje Steam

    • Endpoint: https://www.cheapshark.com/api/1.0/deals
    • Bezpłatne, bez klucza API
  • Epic Games Store API - darmowe gry

    • Endpoint: https://store-site-backend-static.ak.epicgames.com/freeGamesPromotions
    • Oficjalne API, publiczne
  • GOG.com Giveaway - darmowe gry

    • Endpoint: https://www.gog.com/giveaway
    • Sprawdzanie aktywnych promocji

📄 Licencja

Ten projekt jest darmowym oprogramowaniem open-source.

🤝 Współpraca

Zgłaszaj błędy i propozycje ulepszeń!

👨‍💻 Autor

Stworzone dla społeczności graczy Linux 🐧


Miłego korzystania! 🎮