- Follow this to start the application in a Emulator (With emulator open):
- Clone this repository.
- Enter in
tvseries_maze_challenge_clean
Flutter SDK Version: 1.22.5
- Type this commands in the terminal
flutter clean
flutter pub get
flutter run
- Folder distribution
- For emulator you can download from the folder the file
app-debug.apk
.
- Folder distribution
- For Real device you can download from the folder the file
app-release.apk
.
- I decided only to do Unit Tests because of the limited time. Widget tests are more complex to do, they spend more time to do.
- Actually have 57 unit tests and all passing.
- You can check then just doing this, open your console in app folder root and:
flutter test
- I decided to use the Clean-dart approach for this project with BDD(TDD). Based on the requirements I received on the PDF file.
- After receiving the documentation with application flow, I decided to separate in requirements check the folder inside the project. Folder: tvseries_maze_challenge_clean/requirements/
- requirements/bdd.md
- pages/detail_page.md
- pages/home_page.md
- pages/summary_page.md
- File BDD.
- File SummaryPage.
- File HomePage.
- File DetailPage.
- Used Modular for Dependency Injection and his own structure what is based on decoupled and independent modules. Each module has their own pages, business logic, and need to be independent of each other existent.
- ValueNotifier is native from Flutter. I decided to use it together with RxNotifier this brings simple transparency to the ValueNotifier.
- Decided to use a simple UI and interactive.
- Modular (Routing and Dependency Injection).
- RxNotifier (It's a transparency for ValueNotifier(Native of Flutter)).
- Hexcolor (Colors from Hex).
- Dio (Powerfull HttpClient).
- Dartz (Tests).
- Intl (Good functions).
- Mockito (Mock classes).