|
2 | 2 |
|
3 | 3 | This is a template project structure. |
4 | 4 |
|
| 5 | +# Articles App |
| 6 | + |
| 7 | +# Medium Articles |
| 8 | +[Clean Architecture in Flutter](https://medium.com/@yamen.abd98/clean-architecture-in-flutter-mvvm-bloc-dio-79b1615530e1) |
| 9 | + |
| 10 | +[Unit Testing with Clean Architecture in Flutter | Mockito](https://medium.com/@yamen.abd98/unit-testing-in-flutter-with-clean-architecture-49d403645b4d) |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | +A new Flutter project with Clean Architecture to fetch thw New Work Time |
| 15 | +Articles, display article details, and see more about details from url. |
| 16 | + |
5 | 17 | ## Getting Started |
6 | 18 |
|
7 | | -This project is a starting point for a Flutter application. |
| 19 | +## Prerequisites |
| 20 | + |
| 21 | +- Flutter SDK |
| 22 | +- Android Studio or VS Code |
| 23 | +- Dart plugin for your IDE |
| 24 | + |
| 25 | +## Installing |
| 26 | + |
| 27 | +- Clone the repository ```git clone https://github.com/YAMMEN98/ny-times-flutter-app.git``` |
| 28 | +- Open the project in Android Studio or VS Code. |
| 29 | +- Run the app on an emulator or physical device. |
| 30 | + |
| 31 | +## Feature |
| 32 | + |
| 33 | +- Get all ny times articles. |
| 34 | +- Search articles. |
| 35 | +- Filter article by ```period``` |
| 36 | +- Display article details. |
| 37 | +- Apply Dark/Light theme. |
| 38 | +- Apply localization en/ar languages. |
| 39 | +- View Image And Zoom It. |
| 40 | +- Create a lane to generate apk automatically when upload code to the main branch. |
| 41 | + |
| 42 | + |
| 43 | + |
| 44 | +- Apply Unit Testing . |
| 45 | + |
| 46 | +## Built With |
| 47 | + |
| 48 | +- [Flutter](https://github.com/vedranMv/dataDashboard/releases) - The framework used). |
| 49 | +- [The New Work a Times API](https://developer.nytimes.com/) - API used for weather data. |
| 50 | + |
| 51 | +## Unit Test |
| 52 | + |
| 53 | +To run test you should follow the steps: |
| 54 | + |
| 55 | +- run command ```flutter test``` |
| 56 | +- If you want to get coverage file from Unit Test run this.command ```flutter test --coverage``` |
| 57 | + |
| 58 | +There is many tools to generate text coverage, |
| 59 | +we will use [test_cov_console](https://pub.dev/packages/test_cov_console) to generate coverage |
| 60 | +report, follow these steps to run it: |
| 61 | + |
| 62 | +- Run the following command to make sure all flutter library is up-to-date ```flutter pub get```, |
| 63 | + - Run the following command to generate lcov.info on coverage |
| 64 | + directory ```flutter test --coverage```, |
| 65 | + - Run the tool to generate report from lcov.info to the |
| 66 | + console ```flutter pub run test_cov_console```, |
| 67 | + - You can follow and see more of parameters |
| 68 | + in [test_cov_console](https://pub.dev/packages/test_cov_console). |
| 69 | + - You Can Output report to CSV file (-c, --csv, -o, --output) |
| 70 | + by ```flutter pub run test_cov_console -c --output=coverage/test_coverage.csv``` |
| 71 | + - Open CSV file by excel and you will see like this result: |
8 | 72 |
|
9 | | -A few resources to get you started if this is your first Flutter project: |
| 73 | +  |
10 | 74 |
|
11 | | -- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) |
12 | | -- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) |
| 75 | +## Author |
13 | 76 |
|
14 | | -For help getting started with Flutter development, view the |
15 | | -[online documentation](https://docs.flutter.dev/), which offers tutorials, |
16 | | -samples, guidance on mobile development, and a full API reference. |
| 77 | +Yamen Abdullrahman - Senior Flutter Developer; |
0 commit comments