Maxiwere45 8608fc023c docs: sync ARCHITECTURE and README with actual codebase
Add missing providers (locale, theme, genFilter, caughtCount), all 6
pages, full widget inventory, core/l10n layers, and game mechanics
(hints, skips, shiny, bonuses, bilingual input, gen filter).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 21:58:37 +02:00

2.1 KiB
Raw Permalink Blame History

Pokeguess

Description

Pokeguess is a Flutter mobile application that allows users to discover and collect Pokémon through a silhouette guessing game. The app fetches data from the Tyradex API and stores it locally for offline access.

Features

  • National Pokédex: Browse all 1025 Pokémon from generations I to IX.
  • Guess Game: Identify Pokémon by their silhouette.
  • Scoring System: Earn 10 pts per correct guess, 20 pts for Shiny Pokémon (1 in 10 chance). High scores are saved locally.
  • Lives, Hints & Skips: Start each game with 3 lives, 3 hints, and 3 skips. Earn bonuses every 5 correct guesses (hint) and every 10 correct guesses (skip).
  • Generation Filter: Restrict the game to one or more generations (IIX). Selection persists across sessions.
  • Bilingual Input: Pokémon names are accepted in French or English regardless of the UI language.
  • Collection: Track caught and seen Pokémon across your Pokédex.
  • Search and Filter: Filter the collection by all / caught status and search by name.
  • Pokémon Detail: View base stats, types, genus, and toggle between normal and shiny sprites.
  • Theming: Choose from 5 color palettes (red, blue, green, yellow, purple).
  • Localization: Full French and English UI support, switchable at any time.
  • Statistics: Global view of caught count, seen count, completion percentage, and best score.

Installation

  1. Ensure Flutter SDK is installed.
  2. Clone the repository.
  3. Run flutter pub get to install dependencies.
  4. Run flutter run to start the application.

Technologies

  • Flutter: UI Framework.
  • Riverpod: State management (providers + notifiers).
  • SQLite (sqflite): Local database for offline-first Pokémon storage.
  • Tyradex API: Primary Pokémon data source (FR/EN names, sprites, types, stats).
  • PokéAPI: Secondary source for English genus data.
  • Shared Preferences: Persistence for best score, generation filter, language, and palette.
  • Google Fonts: Custom typography (VT323).
  • flutter_localizations / intl: FR and EN localization.