Παρουσίαση Project

Μια Android εφαρμογή σε Kotlin που χρησιμοποιεί το PokéAPI για προβολή Pokémon από 10 τύπους: Fire, Water, Grass, Electric, Dragon, Psychic, Ghost, Dark, Steel, και Fairy. Επιλογή τύπου, αναζήτηση με όνομα, λίστα με σταδιακή φόρτωση και κάρτα λεπτομερειών με εικόνα και βασικά στατιστικά (HP, Attack, Defense).

Τι προσφέρει η εφαρμογή

  • Επιλογή τύπου Pokémon ανάμεσα στα: Fire, Water, Grass, Electric, Dragon, Psychic, Ghost, Dark, Steel και Fairy.
  • Αναζήτηση με όνομα μέσα στον επιλεγμένο τύπο, για γρήγορο φιλτράρισμα αποτελεσμάτων.
  • Λίστα Pokémon με αρχική φόρτωση 10 στοιχείων και επιλογή «Φόρτωσε περισσότερα».
  • Κάρτα λεπτομερειών για κάθε Pokémon: όνομα, εικόνα και βασικά stats (HP, Attack, Defense).
  • Επικοινωνία με PokéAPI (REST) και caching όπου χρειάζεται για ομαλή εμπειρία.

Τεχνολογίες

Android (Kotlin), Coroutines/Flow, Retrofit για δικτυακές κλήσεις, Coil/Glide για εικόνες, και σύγχρονο UI με Jetpack Compose ή XML (ανάλογα την επιλογή).

API

PokéAPI: https://pokeapi.co/api/v2/ — endpoints για τύπους και Pokémon λεπτομέρειες.

Πώς λειτουργεί

  1. Ο χρήστης διαλέγει τύπο (π.χ. Fire) από drop-down.
  2. Η εφαρμογή καλεί PokéAPI για να πάρει τα Pokémon που αντιστοιχούν στον τύπο.
  3. Προβάλλονται τα πρώτα 10 αποτελέσματα με κουμπί για περισσότερα.
  4. Η αναζήτηση φιλτράρει τα αποτελέσματα στον τρέχοντα τύπο.
  5. Πατώντας σε Pokémon ανοίγει κάρτα με εικόνα και βασικά stats (HP, ATK, DEF).

Screens / Mockups

Splash Screen
Splash Screen
Αρχική οθόνη
Αρχική οθόνη
Λίστα Pokémon με Load more
Λίστα Pokémon με Load more
Κάρτα λεπτομερειών με εικόνα και stats
Κάρτα λεπτομερειών με εικόνα και stats

Demo / Βίντεο

Video Presentation .

Εγκατάσταση & Εκτέλεση (Android / Kotlin)


          # Προαπαιτούμενα
          - Android Studio (Giraffe ή νεότερο)
          - JDK 17

          # Βήματα
          1. Κάνε clone το repo
          2. Άνοιξέ το στο Android Studio
          3. Ρύθμισε το minSdk/targetSdk (προτεινόμενο: 24+/34)
          4. Τρέξε το project σε emulator ή συσκευή
          

Σημεία-Κλειδιά Υλοποίησης

  • ViewModel + Repository pattern για data flow.
  • Retrofit + Moshi/ kotlinx.serialization για API.
  • Paging-like συμπεριφορά για «Load more».
  • Coil για φόρτωση εικόνων.

FAQ

Ναι, η λίστα τύπων είναι δηλωμένη κεντρικά και επεκτείνεται εύκολα.
Προβλέπεται caching ώστε να ξαναχρησιμοποιούνται πρόσφατα αποτελέσματα, με χειρισμό σφαλμάτων δικτύου.