Daily News App
Creator: A.F.M. MOHIMENUL JOAA
Feature Description:
- Fetch and Display: Fetch news articles from the NewsAPI Display them in a list with the article title, image, and a short description.
- Detail View: On tapping a list item, navigate to a new screen that displays the full content of the article, including the image, title, content, and published date.
- State Management: Implement a state management solution of your choice (RiverPod or Bloc) to manage and store the fetched articles.
- Error Handling: Implement error handling for network failures or any other possible exceptions.
- Pull to Refresh: Implement a pull-to-refresh feature that fetches the latest articles when the user pulls down on the list.
- Caching: Cache the fetched articles to provide an offline reading experience.
- Search Functionality: Allow users to search for specific articles by keyword.
- Theming and UI/UX: Showcase your design and theming skills by styling the app beyond basic widgets.
Supported Platform:
Android, iOS, Web
Features
- Material design
- Clean architecture using Business Logic Component
- Local data caching using hive
- Network image caching using Cached Network Image
- Inherited Widget using provider
- App Routing
- Repository Pattern
- Flare animation using Flare Flutter
- Proper Error Handling
- Proper Permission Handling
- Pull to refresh
- Domain driven design
- Search using country, category and query
- Caching search result using hive
- Using custom fonts
- Light and Dark theme implementation
- Beautiful modern UI with animation and sidebar
- Shimmer if image url is null or empty shimmer
Screenshot
Dashboard/Home
![screen shot 1](https://github.com/afmjoaa/daily-news/raw/main/screenshots/android/news_l.jpg)
![screen shot 2](https://github.com/afmjoaa/daily-news/raw/main/screenshots/android/news_d.jpg)
![screen shot 1](https://github.com/afmjoaa/daily-news/raw/main/screenshots/web/news_web_l.png)
![screen shot 2](https://github.com/afmjoaa/daily-news/raw/main/screenshots/web/news_web_d.png)
Detail Page
![screen shot 1](https://github.com/afmjoaa/daily-news/raw/main/screenshots/android/detail_l.jpg)
![screen shot 2](https://github.com/afmjoaa/daily-news/raw/main/screenshots/android/detail_d.jpg)
![screen shot 1](https://github.com/afmjoaa/daily-news/raw/main/screenshots/web/detail_l.png)
![screen shot 2](https://github.com/afmjoaa/daily-news/raw/main/screenshots/web/detail_d.png)
Sidebar
![screen shot 1](https://github.com/afmjoaa/daily-news/raw/main/screenshots/android/dashboard_l.jpg)
![screen shot 2](https://github.com/afmjoaa/daily-news/raw/main/screenshots/android/dashboard_d.jpg)
![screen shot 1](https://github.com/afmjoaa/daily-news/raw/main/screenshots/web/side_l.png)
![screen shot 2](https://github.com/afmjoaa/daily-news/raw/main/screenshots/web/side_d.png)
About page
![screen shot 1](https://github.com/afmjoaa/daily-news/raw/main/screenshots/android/about_l.jpg)
![screen shot 2](https://github.com/afmjoaa/daily-news/raw/main/screenshots/android/about_d.jpg)
![screen shot 1](https://github.com/afmjoaa/daily-news/raw/main/screenshots/web/about_l.png)
![screen shot 2](https://github.com/afmjoaa/daily-news/raw/main/screenshots/web/about_d.png)
No Internet Dashboard
![screen shot 1](https://github.com/afmjoaa/daily-news/raw/main/screenshots/android/no_news_l.jpg)
![screen shot 2](https://github.com/afmjoaa/daily-news/raw/main/screenshots/android/no_news_d.jpg)
![screen shot 1](https://github.com/afmjoaa/daily-news/raw/main/screenshots/web/search_l.png)
![screen shot 2](https://github.com/afmjoaa/daily-news/raw/main/screenshots/web/search_d.png)
Build Requirements
SDK | Version |
---|---|
Dart | 3.1.3 |
Flutter | 3.13.6 |
Dependency
License
GNU AFFERO GENERAL PUBLIC LICENSE