GitPedia

Flutter News App

Flutter News App with newsapi.org. Developed using the Test Driven Development.

From CoderJava·Updated June 23, 2026·View on GitHub·

News App developed with Flutter and API from [News API](https://newsapi.org) The project is written primarily in Dart, distributed under the MIT License license, first published in 2019. Key topics include: flutter, flutter-apps, flutter-bloc, flutter-bloc-test, flutter-clean-architecture.

Codemagic build status
codecov
style: effective dart
License: MIT

Flutter News App

Flutter News App

News App developed with Flutter and API from News API

Versions

Usage

  1. Please open file constant_config.dart and change YOUR API KEY in the variable keyNewsApi with your own.
  2. In development mode, I'm used fake json server. So, the data is not realtime.
  3. Build flavor only work for Android. So, if you want to run as development mode you can use this command.
flutter run -t lib/main_development.dart --flavor development -d <device_id>

or in production mode.

flutter run --release -t lib/main_production.dart --flavor production -d <device_id>

Note: If you want to build and release this app to Play Store. Please use this command.

flutter build appbundle --release --flavor production -t lib/main_production.dart
  1. For iOS, you can use this command as development mode.
flutter run -t lib/main_development.dart -d <device_id>

or in production mode.

flutter run --release -t lib/main_production.dart -d <device_id>

For iOS, to build and release there is no configuration. Just follow the instructions from the documentation.

Feature

  • List daily news.
  • Filter daily news by category.
  • Refresh list daily news with pull to refresh style.
  • Go to detail news website.
  • Search news.
  • Dark mode support.

Technology

  1. Dio<br />
    A powerful Http client for Dart, which supports interceptors, FormData, Request Cancellation, File Downloading, Timeout, etc.
  2. Flutter BLoC<br />
    Flutter widgets that make it easy to implement the BLoC design pattern.
  3. Intl<br />
    Package providers internationalization and localization facilities, including message translation, plurals and genders, date/number formatting and parsing, and bidirectional text.
  4. Url Launcher<br />
    Flutter plugin for launching a URL in the mobile platform. Supports iOS and Android.
  5. Cached Network Image<br />
    Flutter library to load and cache network images. Can also be used with placeholder and error widgets.
  6. Get It<br />
    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.
  7. Dartz<br />
    Functional Programming in Dart. Purify your Dart code using efficient immutable data structures, monads, lenses and other FP tools.
  8. Equatable<br />
    An abstract class that helps to implement equality without needing to explicitly override == and hashCode.
  9. Data Connection Checker<br />
    A pure Dart library that checks for internet by opening a socket to a list of specified addresses, each with individual port and timeout.
  10. Flutter ScreenUtil<br />
    A Flutter plugin for adapting screen and font size.
  11. Pedantic<br />
    How to get the most value from Dart static analysis.
  12. Device Info<br />
    Flutter plugin providing detailed information about the device (make, model, etc).
  13. Flutter SVG<br />
    An SVG rendering and widget library for Flutter, which allows painting and displaying Scalable Vector Graphics 1.1 files.
  14. Build Runner<br />
    Tools to write binaries that run builders.
  15. Mockito<br />
    A mock framework inspired by Mockito.
  16. Bloc Test<br />
    A testing library which makes it easy to test blocs.
  17. JSON Serializable<br />
    Automatically generate code for converting to and from JSON by annotating Dart classes.
  18. Hive<br />
    Lightweight and blazing fast key-value database written in pure Dart.

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub →

This article is auto-generated from CoderJava/Flutter-News-App via the GitHub API.Last fetched: 6/28/2026