Project

Reverse It

Een mobiele Flutter-game waarin spelers omgekeerde audiofragmenten moeten herkennen en punten scoren door juiste antwoorden te geven.

Version 0.0.2
Stack Flutter · Dart · flutter_bloc (Bloc pattern) · …

Reverse It

Een mobiele audio-quiz waarin spelers reversed audiofragmenten moeten herkennen.

FlutterDartBlocFirebaseFFmpeg Kit

Overview

Reverse It is een mobiele quizgame waarin spelers een audiofragment achterstevoren horen en moeten raden wat het originele woord is. Na elk antwoord krijgt de speler directe feedback; na meerdere rondes volgt een scoreoverzicht met goede en foute antwoorden.

De focus ligt op een snelle, responsieve user experience (low-latency audio, haptics, animaties) en een duidelijke gameflow die uitbreidbaar is met packs, moeilijkheidsgraden en (later) multiplayer.

Gameplay

  • Een reversed audiofragment wordt afgespeeld
  • De speler voert een antwoord in (met validatie)
  • De app controleert het antwoord en geeft directe feedback
  • Score wordt per ronde bijgehouden
  • Eindscherm toont totaalresultaat + overzicht van goede/foute antwoorden

Features

  • Reverse audio playback (FFmpeg + just_audio / audioplayers)
  • Opnemen van eigen audiofragmenten om te reverseën
  • Invoer & validatie van antwoorden via Formz
  • Scoretracking per ronde + eindoverzicht
  • Animaties en haptische feedback
  • Navigatie-flow via Flow Builder
  • Lokalisatie (intl + flutter_localizations, ARB workflow)
  • Firebase-authenticatie (e-mail, Google, Apple)
  • Push notificaties via Firebase Messaging
  • Native splash screen

Architecture

Reverse It gebruikt het Bloc pattern voor state management. De app is opgesplitst in UI-schermen en services, zodat audio, game logic en platformintegraties los van de UI te testen en uit te breiden zijn.

Projectstructuur

lib/
├── screens/
│   ├── home_screen.dart
│   ├── game_screen.dart
│   ├── result_screen.dart
│   ├── end_screen.dart
│   └── login_screen.dart
├── services/
│   ├── audio_service.dart
│   ├── audio_reverse_service.dart
│   ├── game_logic_service.dart
│   ├── recorder_service.dart
│   ├── vibration_service.dart
│   ├── auth_service.dart
│   └── firebase_messaging_service.dart
├── l10n/
└── main.dart
    

Technische highlights

  • Audio pipeline: reverse processing via FFmpeg Kit
  • Playback: just_audio/audioplayers voor cross-platform afspelen
  • State: voorspelbare gameflow met Bloc events/states
  • Input: Formz voor consistente validatie en error states
  • Auth & messaging: Firebase Auth + FCM in aparte services
  • Permissions: microfoon/opslag afhandeling via permission_handler

Roadmap

  • Meer woorden en levels
  • Moeilijkheidsgraden
  • Cloud sync / score opslag
  • Multiplayer modus