Skip to content

may-andro/flutter_pokemon_quiz

Repository files navigation

pokemon_quiz

Are you the Ultimate Pokemon Master???

Check it out. And finish your pokedex.

Gotta Catch ém All!!!!!!

Dependencies

dependencies:
  dependencies:
    path: modules/dependencies
  domain:
    path: modules/domain
  flutter:
    sdk: flutter
  pokedex:
    path: modules/features/pokedex
  guess_pokemon:
    path: modules/features/guess_pokemon
  pokemon_detail:
    path: modules/features/pokemon_detail
  setting:
    path: modules/features/setting
  ui_core:
    path: modules/features/ui_core

Common difficulties in Module Arch

  • Navigation Between Modules [DONE]
  • Dependency Injection [DONE]
  • Circular Dependency [DONE]
  • Dependency Version Management [DONE]
  • Localization [TODO]

TODO

  • Error Handling [TODO]
  • Golden Test [TODO]
  • Integration Test [TODO]

App Arch.

This application follows the modular architecture. The app responsibilities are distributed in various modules to make it more maintainable across teams.

app_arch (1)

Architecture tries to maintain SOLID principles in each module to enhance the testability of the app.

Dependency Graph

dependecy_graph

Very often in modular arch the most common issue is circular dependency. In order to avoid that a linear dependency approach is used in this project.

[TODO] Another way to architect this app using Uncle Bob Clean Arch would be this:

other_app_arch

Data Modules

Domain Module

Feature Module

App Flavour

  • Kanto
  • Johto

Derry Script

Derry defines the basic scripts required during development.

  • test: Run all test cases.
  • run_jhoto: Run the Jhoto flavor.
  • run_kanto: Run the Kanto flavor.
  • get_all: Run flutter pub get in each module
  • build_runner: Run flutter pub run build_runner build --delete-conflicting-outputs in each module

App Screen Shots

Screenshot 2022-04-04 at 02 15 24

Screenshot 2022-04-04 at 02 15 40

Screenshot 2022-04-04 at 02 16 04

Screenshot 2022-04-04 at 02 16 40

Screenshot 2022-04-04 at 02 16 49

Screenshot 2022-04-04 at 10 36 08

Screenshot 2022-04-04 at 10 36 28

Screenshot 2022-04-04 at 10 37 50

Screenshot 2022-04-04 at 10 38 12

App Video

Screen.Recording.2022-04-06.at.15.44.02.mov
Screen.Recording.2022-04-06.at.15.46.21.mov