This is a word-guessing game built using Flutter and the BLoc pattern
Here’s a quick rundown of how the project is set up:
-
main.dart: Standard main file required for Flutter projects.
-
domain.dart: Contains the game logic and corresponding class definitions.
-
data.dart: Contains the classes that interact with storage and allows for better data handling.
-
app: A folder with the app widget and also a helper file with colors defined by the brand guidelines.
-
monitoring: A folder with a helper class that will help you track your Blocs and Cubits.
-
presentation: Contains different folders that build the game's UI:
- bloc has a bloc definition for handling game interactions and possible outcomes from it like winning or losing.
- cubit has a cubit definition for handling the stats displayed in an in-game dialog.
- pages has all the pages.
- widgets contains all the reusable widgets.
- dialogs has all the game’s dialog.
You can build and run the app from your preferred working environment [VSCode, InteliJ or Android Studio].
Here is a non-exhaustive list of third-party dependencies used in this project.
- flutter_bloc: for ease of implementing the Bloc pattern with less boilerplate code
- bloc_concurrency: for handling events using transformers.
- shared_preferences: for persisting game stats over the app lifecycle
- equitable: for object comparison with needing to override
==
works to implement dependency injection using get_it is still in progress.