You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+66-4Lines changed: 66 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,11 +5,32 @@
5
5
# Flutter News App
6
6
News App developed with Flutter and API from [News API](https://newsapi.org)
7
7
8
-
## How to use
9
-
Please open file **api_provider.dart** and change `YOUR_API_KEY` in the variable `_baseUrl` with your own.
8
+
## Usage
9
+
1. Please open file **constant_config.dart** and change `YOUR API KEY` in the variable `keyNewsApi` with your own.
10
+
2. Build flavor only work for Android. So, if you want to run as development mode you can use this command.
11
+
```
12
+
flutter run -t lib/main_development.dart --flavor development -d <device_id>
13
+
```
14
+
or in production mode.
15
+
```
16
+
flutter run --release -t lib/main_production.dart --flavor production -d <device_id>
17
+
```
18
+
*Note: If you want to build and release this app to Play Store. Please use this command.*
19
+
```
20
+
flutter build appbundle --release --flavor production -t lib/main_production.dart
21
+
```
22
+
3. For iOS, you can use this command as development mode.
23
+
```
24
+
flutter run -t lib/main_development.dart -d <device_id>
25
+
```
26
+
or in production mode.
27
+
```
28
+
flutter run --release -t lib/main_production.dart -d <device_id>
29
+
```
30
+
For iOS, to build and release there is no configuration. Just follow the instructions from the [documentation](https://flutter.dev/docs/deployment/ios).
10
31
11
32
## Technology
12
-
1. BLoC<br />
33
+
1.Flutter BLoC<br />
13
34
BLoC (Business Logic Component) is design pattern helps to separate *presentation* from *business logic*.
14
35
2. Dio<br />
15
36
A powerful HTTP client for Dart, which supports interceptors, FormData, Request Cancellation, File Downloading, Timeout, etc.
@@ -21,5 +42,46 @@ Plugin to provides internalization and localization facilities, including messag
21
42
Flutter plugin for launching a URL on Android and iOS.
22
43
6. Build Runner<br />
23
44
Package to provides a concrete way of generating files using Dart code, outside of tools like `pub server/build`, files are always generated directly on disk, and rebuilds are *incremental-* inspired by tools such as Bazel.
45
+
7. Cached Network Image<br />
46
+
Flutter library to load and cache network images. Can also be used with placeholder and error widgets.
47
+
8. Equatable<br />
48
+
An abstract class that helps to implement equality without needing to explicitly override == and hashCode.
A powerful Http client for Dart, which supports interceptors, FormData, Request Cancellation, File Downloading, Timeout, etc.
53
+
2. Flutter BLoC</br />
54
+
Flutter widgets that make it easy to implement the BLoC design pattern.
55
+
3. Intl<br />
56
+
Package providers internationalization and localization facilities, including message translation, plurals and genders, date/number formatting and parsing, and bidirectional text.
57
+
4. Url Launcher<br />
58
+
Flutter plugin for launching a URL in the mobile platform. Supports iOS and Android.
59
+
5. Cached Network Image<br />
60
+
Flutter library to load and cache network images. Can also be used with placeholder and error widgets.
61
+
6. Get It<br />
62
+
Simple direct Service Locator that allows to decouple the interface from a concrete implementation and to access the concrete implementation from everywhere in your App.
63
+
7. Dartz<br />
64
+
Functional Programming in Dart. Purify your Dart code using efficient immutable data structures, monads, lenses and other FP tools.
65
+
8. Equatable<br />
66
+
An abstract class that helps to implement equality without needing to explicitly override == and hashCode.
67
+
9. Data Connection Checker<br />
68
+
A pure Dart library that checks for internet by opening a socket to a list of specified addresses, each with individual port and timeout.
69
+
10. Flutter ScreenUtil<br />
70
+
A Flutter plugin for adapting screen and font size.
71
+
11. Pedantic<br />
72
+
How to get the most value from Dart static analysis.
73
+
12. Device Info<br />
74
+
Flutter plugin providing detailed information about the device (make, model, etc).
75
+
13. Flutter SVG<br />
76
+
An SVG rendering and widget library for Flutter, which allows painting and displaying Scalable Vector Graphics 1.1 files.
77
+
14. Build Runner<br />
78
+
Tools to write binaries that run builders.
79
+
15. Mockito<br />
80
+
A mock framework inspired by Mockito.
81
+
16. Bloc Test<br />
82
+
A testing library which makes it easy to test blocs.
83
+
17. JSON Serializable<br />
84
+
Automatically generate code for converting to and from JSON by annotating Dart classes.
0 commit comments