This example uses a CustomScrollView, JSON Rest API, BottonNavigationBar,SliverList, ClipRRect, Card, Progress Indicator, NetworkImage, Card, Column, Row, Container, InkWell, BoxDecoration.


Bloc pattern

I used this pattern to design this application.

class NewsBloc {
  final _repository = Repository();
  final _newsFetcher = PublishSubject<NewsModel>();
  final _newsSearchFetcher = PublishSubject<NewsModel>();
  final _newsLikeFetcher = PublishSubject<NewsModel>();

  Observable<NewsModel> get allNews =>;
  Observable<NewsModel> get searchNews =>;
  Observable<NewsModel> get likeNews =>;

  fetchLikedNews() async {
    NewsModel newsModel = await _repository.fetchLikedNews();

  fetchAllNews() async {
    NewsModel newsModel = await _repository.fetchAllNews();

  fetchSearchNews() async {
    NewsModel newsModel = await _repository.fetchSearchNews();

  // Set and delete from Firestore liked
  addFavorit(val) async => _repository.addFavorit(val);
  deliteFavorit(val) async => _repository.deliteFavorit(val);

  dispose() {

final bloc = NewsBloc();