A minimalist and interactive decision-making application built with Flutter. This project focuses on managing application state and implementing randomization logic to provide users with an engaging "Magic 8-Ball" experience.
- Dynamic Image Shuffling: Utilizes
setStateto update the UI in real-time based on randomized logic. - Clean Architecture: Separates business logic (randomization) from the UI components for better maintainability.
- High-Contrast UI: Minimalist design using a Cyan color palette for a bold, modern look.
- Randomization: Implementation of
dart:mathto generate dynamic asset paths. - State Management: Using
StatefulWidgetto handle real-time asset swapping. - Asset Management: Efficient handling of local image assets through the
pubspec.yaml.
lib/home_page.dart: The core UI layout and interaction handling.lib/utils/ball_logic.dart: Decoupled logic for generating random indices.assets/: Contains the ball image variations (ball1.png through ball5.png).
-
Clone the repo:
git clone https://github.com/SHADOWRULIN/Flutter-Magic-8-Ball-App.git
-
Install dependencies:
flutter pub get
-
Run the app:
flutter run
Muhammad Fahaz Khan
-
GitHub: @SHADOWRULIN
-
LinkedIn: Fahaz Khan
This project is licensed under the MIT License — see the LICENSE file for details.

