Skip to content

A mobile client for the GameVibes platform, built with Flutter. The app allows users to browse a vast game database and participate in community discussions.

License

Notifications You must be signed in to change notification settings

Adamad7/FrontendGameVibes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GameVibes - Społecznościowa Platforma Gamingowa 🎮

GameVibes to nowoczesna aplikacja mobilna stworzona w Flutter, będąca kompleksową platformą społecznościową dla entuzjastów gier wideo. Projekt został zrealizowany jako główny projekt inżynierski na kierunku informatyka przez zespół trzech osób.

📱 Przegląd Projektu

GameVibes to aplikacja łącząca w sobie funkcjonalności platformy społecznościowej z dedykowanymi narzędziami dla graczy. Umożliwia użytkownikom odkrywanie nowych gier, pisanie recenzji, uczestniczenie w dyskusjach na forum oraz budowanie społeczności wokół wspólnych zainteresowań gamingowych.

🎯 Cel i Motywacja

Projekt powstał w ramach pracy inżynierskiej na studiach informatycznych. Głównym celem było stworzenie kompleksowej aplikacji mobilnej, która:

  • Integruje różne aspekty społeczności gamingowej w jednym miejscu
  • Zapewnia intuicyjny interfejs użytkownika zgodny z Material Design 3
  • Demonstruje zaawansowane techniki programowania mobilnego w Flutter
  • Implementuje nowoczesne wzorce architektoniczne (MVVM z Riverpod)
  • Pokazuje umiejętności pracy zespołowej w projekcie informatycznym

✨ Główne Funkcjonalności

🎮 Katalog Gier

  • Przeglądanie gier: Odkrywaj najnowsze i nadchodzące tytuły
  • Szczegółowe informacje: Kompletne dane o grach, screenshoty, opisy
  • System obserwowania: Śledź ulubione gry i otrzymuj powiadomienia
  • Zaawansowane wyszukiwanie: Filtruj gry według różnych kryteriów

⭐ System Recenzji

  • Tworzenie recenzji: Szczegółowe oceny z podziałem na aspekty (gameplay, grafika, dźwięk)
  • Automatyczne obliczanie: Inteligentny system obliczania oceny ogólnej
  • Edycja recenzji: Możliwość modyfikacji własnych opinii
  • System raportowania: Zgłaszanie niewłaściwych treści

💬 Forum Społecznościowe

  • Sekcje tematyczne: Zorganizowane dyskusje według kategorii
  • Tworzenie wątków: Rozpoczynaj nowe dyskusje
  • System postów: Odpowiadaj i komentuj w wątkach
  • Like/Dislike: Oceniaj posty innych użytkowników
  • System moderacji: Raportowanie i zarządzanie treścią

👥 System Społecznościowy

  • Profile użytkowników: Personalizowane profile z awatarami i opisami
  • System znajomych: Dodawaj znajomych i śledź ich aktywność
  • Rangi forum: Progresja użytkowników na podstawie aktywności
  • Historia aktywności: Śledzenie postów, recenzji i wątków

🔍 Zaawansowane Wyszukiwanie

  • Wyszukiwanie globalne: Znajdź gry, użytkowników, posty i recenzje
  • Filtry: Precyzyjne filtrowanie wyników
  • Historia wyszukiwań: Zapamiętywanie poprzednich zapytań

🎨 Personalizacja

  • Tryb ciemny/jasny: Automatyczne przełączanie motywów
  • Material Design 3: Nowoczesny i spójny interfejs
  • Responsywny design: Optymalizacja dla różnych rozmiarów ekranów

🛠️ Technologie i Narzędzia

Frontend (Flutter)

  • Flutter SDK ^3.5.3 - Framework do tworzenia aplikacji multiplatformowych
  • Dart - Język programowania

Zarządzanie Stanem

  • Riverpod ^2.6.1 - Reaktywny state management
  • Riverpod Annotations - Code generation dla Riverpod
  • Flutter Riverpod - Widget-aware state management

Interfejs Użytkownika

  • Material Design 3 - Nowoczesny system projektowania Google
  • Cupertino Icons ^1.0.8 - Ikony w stylu iOS
  • Auto Size Text ^3.0.0 - Automatyczne skalowanie tekstu
  • Carousel Slider ^5.0.0 - Komponenty karuzel
  • Glass Kit ^4.0.1 - Efekty szklane w UI

Sieć i API

  • HTTP ^1.2.2 - Komunikacja z API
  • HTTP Parser ^4.0.2 - Parsowanie odpowiedzi HTTP

Funkcjonalności Mobilne

  • Image Picker ^1.1.2 - Wybieranie zdjęć z galerii/aparatu
  • Shared Preferences ^2.3.2 - Lokalne przechowywanie danych
  • App Links ^6.3.2 - Deep linking

Zarządzanie Treścią

  • Flutter Widget from HTML ^0.15.1 - Renderowanie HTML w Flutter
  • Flutter Slidable ^3.1.1 - Akcje przesuwane (swipe actions)

Testy

  • Flutter Test - Unit testing
  • Integration Test - Testy integracyjne
  • Mockito ^5.4.4 - Mockowanie w testach
  • Riverpod Test ^0.1.6 - Testy dla Riverpod

Narzędzia Deweloperskie

  • Build Runner - Code generation
  • Riverpod Generator - Generowanie kodu Riverpod
  • Flutter Lints ^5.0.0 - Analiza kodu

📱 Screenshoty

🖼️ Zobacz interfejs aplikacji

Ekran Główny

Ekran główny 1 Ekran główny 2

System Logowania

Ekran logowania

Przeglądanie Gier

Lista gier Ekran gry Opis gry Wyszukiwanie gier

System Recenzji

Recenzja gry Ekran recenzji

Forum

Sekcje forum Wątki sekcji Posty w wątku Nowy post

Profile Użytkowników

Profil użytkownika Ekran profilu Profil - tryb ciemny Aktywność użytkownika Zaproszenie znajomego

Nawigacja

Dolny pasek nawigacji

🏗️ Architektura

Wzorzec MVVM z Riverpod

  • Model: Klasy danych (Account, GameReview, ForumPost, etc.)
  • View: Widżety Flutter (Screens, Widgets)
  • ViewModel: Providerzy Riverpod zarządzający stanem

Struktura Projektu

lib/
├── models/           # Modele danych
├── providers/        # Riverpod providers (state management)
├── screens/          # Ekrany aplikacji
├── widgets/          # Komponenty UI wielokrotnego użytku
└── main.dart        # Punkt wejścia aplikacji

Kluczowe Komponenty

  • Account Provider: Zarządzanie stanem użytkownika
  • Game Reviews Provider: Obsługa recenzji gier
  • Forum Providers: Zarządzanie postami i wątkami forum
  • Search Provider: Funkcjonalność wyszukiwania
  • Theme Provider: Zarządzanie motywami aplikacji

🚀 Instalacja i Uruchomienie

Wymagania

  • Flutter SDK ^3.5.3
  • Dart SDK
  • Android Studio / VS Code
  • Urządzenie Android/iOS lub emulator

Kroki instalacji

  1. Sklonuj repozytorium

    git clone https://github.com/Adamad7/FrontendGameVibes.git
    cd FrontendGameVibes/frontend_game_vibes
  2. Zainstaluj zależności

    flutter pub get
  3. Wygeneruj kod

    flutter packages pub run build_runner build
  4. Skonfiguruj środowisko

    • Zaktualizuj config.json z adresem API serwera
  5. Uruchom aplikację

    flutter run

📋 Funkcjonalności Szczegółowe

Zarządzanie Kontem

  • Rejestracja i logowanie użytkowników
  • Edycja profilu (zdjęcie, nazwa, opis)
  • Zmiana hasła
  • System ról i uprawnień

Społeczność

  • System znajomych z zaproszeniami
  • Rangi forum na podstawie aktywności
  • Punkty doświadczenia za aktywność
  • Historia aktywności użytkownika

Moderacja

  • System raportowania treści
  • Zarządzanie zgłoszeniami
  • Edycja i usuwanie własnych treści
  • Administratorskie funkcje moderacji

🧪 Testy

Projekt zawiera kompleksowy zestaw testów:

  • Unit testy: Testowanie logiki biznesowej
  • Widget testy: Testowanie komponentów UI
  • Integration testy: Testowanie przepływów użytkownika
  • Provider testy: Testowanie zarządzania stanem
# Uruchom wszystkie testy
flutter test

# Uruchom testy integracyjne
flutter test integration_test/

👨‍💻 Zespół Deweloperski

Projekt został zrealizowany przez zespół trzech studentów informatyki Politechniki Lubelskiej jako główny projekt inżynierski:

Autorzy

Kompetencje zespołu

Aplikacja demonstruje umiejętności:

  • Programowania mobilnego w Flutter/Dart
  • Projektowania interfejsów użytkownika
  • Implementacji zaawansowanych wzorców architektonicznych
  • Zarządzania stanem aplikacji
  • Integracji z API
  • Pracy zespołowej w projektach IT

📄 Licencja

Ten projekt jest dostępny na licencji GNU General Public License v3.0.

GPL v3 zapewnia, że:

  • Kod można swobodnie używać, modyfikować i dystrybuować
  • Wszystkie pochodne prace muszą być również open source
  • Zapobiega tworzeniu zamkniętych wersji komercyjnych
  • Zachowuje prawa autorów

Pełna treść licencji: GNU GPL v3.0

Praca inżynierska - Politechnika Lubelska, Wydział Informatyki, 2025

🤝 Wkład i Rozwój

Projekt powstał w ramach pracy inżynierskiej i służy jako demonstracja umiejętności technicznych zespołu deweloperskiego.


GameVibes - Łączymy graczy, tworzymy społeczność! 🎮✨

About

A mobile client for the GameVibes platform, built with Flutter. The app allows users to browse a vast game database and participate in community discussions.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published