FLUTTER ECOSYSTEM

kaparray/NewsDaily

BLOC पैटर्न के साथ फ्लटर में समाचार ऐप

न्यूज़ डेली प्रोजेक्ट कवर
Stars
349
Forks
93
अंतिम पुश (UTC)
6 जून 2025
प्रोजेक्ट स्थिति
सक्रिय
Kirill GitHub avatar
GITHUB User

Kirill ↗

Mobile engineer. iOS/Android developer.

भाषाएँDartRubyObjective-CJava

रैंकिंग

मूल README

यह अंग्रेज़ी मूल स्नैपशॉट है। नवीनतम सामग्री GitHub पर देखें।

README खोलें / बंद करें

NewsApp

News app in Flutter with BLOC pattern

https://github.com/kaparray/NewsApp/blob/master/assetss/NewsAppFlutterAsset_2.jpeg

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

Library
Bloc pattern

I used this pattern to design this application.

https://cdn-images-1.medium.com/max/1600/1*MqYPYKdNBiID0mZ-zyE-mA.png
class NewsBloc {
  final _repository = Repository();
  final _newsFetcher = PublishSubject<NewsModel>();
  final _newsSearchFetcher = PublishSubject<NewsModel>();
  final _newsLikeFetcher = PublishSubject<NewsModel>();

  Observable<NewsModel> get allNews => _newsFetcher.stream;
  Observable<NewsModel> get searchNews => _newsSearchFetcher.stream;
  Observable<NewsModel> get likeNews => _newsLikeFetcher.stream;

  fetchLikedNews() async {
    NewsModel newsModel = await _repository.fetchLikedNews();
    _newsLikeFetcher.sink.add(newsModel);
  }

  fetchAllNews() async {
    NewsModel newsModel = await _repository.fetchAllNews();
    _newsFetcher.sink.add(newsModel);
  }

  fetchSearchNews() async {
    NewsModel newsModel = await _repository.fetchSearchNews();
    _newsSearchFetcher.sink.add(newsModel);
  }

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

  dispose() {
    _newsLikeFetcher.close();
    _newsFetcher.close();
    _newsSearchFetcher.close();
  }
}

final bloc = NewsBloc();
Screenshots

https://github.com/kaparray/NewsApp/blob/master/assetss/NewsAppFlutterAsset_3.jpeg https://github.com/kaparray/NewsApp/blob/master/assetss/NewsAppFlutterAsset_4.jpeg

https://github.com/kaparray/NewsApp/blob/master/assetss/NewsAppFlutterAsset_1.gif

Built With

  • Flutter - Crossplatform App Development Framework
License

Released under the MIT license

Author

Adeshchenko Kirill (Cyrill) (@kaparray)