Newsly is a modern, full-featured news reader app built with Flutter. It aggregates news from multiple sources, provides weather and stock updates, and allows users to bookmark articles for later reading. The app is designed to be fast, visually appealing, and easy to use, with a focus on delivering a personalized and informative experience.
🚨 IMPORTANT: Before running the app, please create a .env file in the root directory of the project with your API keys. Try out the app by cloning app_release.apk.
- Breaking News & World News:
Fetches the latest breaking and world news from multiple reputable sources using the NewsData.io API. - Local News:
Users can filter news by country and category, making it easy to stay updated on local events. - Hot Topics Carousel:
A sliding carousel highlights trending topics and top stories.
- Current Weather:
Displays the current weather for the user's location, including temperature, condition, humidity, wind speed, and pressure. - Forecast:
Fetches and displays a 5-day weather forecast using the OpenWeatherMap API.
- Stock Quotes:
Shows real-time stock prices and daily changes for popular companies using the Finnhub API.
- Save Articles:
Users can bookmark articles with a single tap or double-tap gesture. - Bookmark Management:
View, add, and remove bookmarks from a dedicated page.
- Search Bar:
Quickly search for news articles by keyword. - Bottom Navigation:
Easily switch between Home, Local News, and Bookmarks tabs. - In-App WebView:
Read full articles in-app or open them in the browser if content is missing.
- Material Design:
Clean, modern interface with smooth animations and responsive layouts. - Dark/Light Mode:
Theme toggling for comfortable reading in any environment. - Loading & Error States:
Custom skeletons and animations for loading and error handling.
- lib/
- Pages/ – Main screens (Home, Bookmarks, Local News, Weather, Expanded Article)
- Services/ – API service classes for news, weather, and stocks
- Widgets/ – Reusable UI components (cards, navigation, selectors, etc.)
- utils.dart – Utility functions and models
- home_page.dart – Main app shell with navigation
- main.dart – App entry point and provider setup
- API Integration:
The app fetches news, weather, and stock data from external APIs using HTTP requests. API keys are loaded from a .env file for security. - State Management:
Uses the Provider package for managing bookmarks and app-wide state. - Navigation:
Implements both bottom navigation and in-app navigation for a seamless user experience. - Customization:
Users can filter news by country and category, bookmark articles, and view detailed weather and stock info.
- Clone the repository
- Install dependencies
flutter pub get - Set up your .env file
🚨 IMPORTANT: Before running the app, please create a.envfile in the root directory of the project with your API keys:
Add your API keys for NewsData.io, OpenWeatherMap, and Finnhub:NEWS_API_KEY=your_newsdata_api_key WEATHER_API_KEY=your_openweathermap_api_key STOCK_API_KEY=your_finnhub_api_key - Run the app
flutter run
- Flutter
- Provider
- http
- loading_animation_widget
- flutter_dotenv
- dropdown_search
- webview_flutter
- geolocator
- geocoding
- intl
- smooth_page_indicator
- Add More APIs:
Easily extend the app to support more news sources, weather providers, or financial data. - UI Themes:
Customize colors, fonts, and layouts to match your brand or preferences. - Offline Support:
Implement caching for offline reading (future enhancement).
Newsly – Stay informed, stay inspired.
Built with ❤️ using Flutter.