Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mhmetglrq/flutter_news_app

News App || Flutter || BLOC || Clean Architecture ||
https://github.com/mhmetglrq/flutter_news_app

Last synced: 1 day ago
JSON representation

News App || Flutter || BLOC || Clean Architecture ||

Awesome Lists containing this project

README

        




Flutter Daily News App


A Flutter project with Clean Architecture, Bloc and more!




Report Bug
.
Request Feature

![Contributors](https://img.shields.io/github/contributors/mhmetglrq/flutter_news_app?color=dark-green) ![Forks](https://img.shields.io/github/forks/mhmetglrq/flutter_news_app?style=social) ![Stargazers](https://img.shields.io/github/stars/mhmetglrq/flutter_news_app?style=social) ![Issues](https://img.shields.io/github/issues/mhmetglrq/flutter_news_app) ![License](https://img.shields.io/github/license/mhmetglrq/flutter_news_app)

## About The Project

![Screen Shot](images/cover.png)

A news application developed using Flutter. Application follows the Clean Architecture principles and it coding with the Bloc pattern. The application accesses news through the News V2 API.

## Built With

Clean Architecture is an approach that ensures clean and sustainable code in software projects. This architecture divides the project into layers, with each layer having specific responsibilities. Typically, a three-layered structure is used: the presentation layer, the domain layer, and the data layer.

The presentation layer is concerned with the user interface and user interaction, often represented by Widgets in Flutter. The Bloc architecture is a pattern used to manage the presentation layer. Blocs receive data, perform operations on it, and deliver the results to the presentation layer.

The domain layer contains the application's rules and functionality. It includes models, business logic rules, and processes relevant to the application context.

Packages:

* [flutter_bloc](https://pub.dev/packages/flutter_bloc)
* [equatable](https://pub.dev/packages/equatable)
* [get_it](https://pub.dev/packages/get_it)
* [intl](https://pub.dev/packages/intl)
* [floor](https://pub.dev/packages/floor)
* [retrofit](https://pub.dev/packages/retrofit)
* [flutter_hooks](https://pub.dev/packages/flutter_hooks)
* [cached_network_image](https://pub.dev/packages/cached_network_image)
* [retrofit_generator](https://pub.dev/packages/retrofit_generator)
* [floor_generator](https://pub.dev/packages/floor_generator)
* [build_runner](https://pub.dev/packages/build_runner)

### Creating A Pull Request

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request