Stay updated with the latest news from around the world with an intuitive and elegant user interface.
- π± Modern UI/UX Design - Clean, intuitive interface following Material Design principles
- π Global News Coverage - Access to worldwide news from reliable sources
- π Category-Based Navigation - Organized news sections (Business, Entertainment, Science, Sports, Technology)
- π Real-time Updates - Latest news fetched from NewsAPI
- π Full Article View - Integrated WebView for complete article reading
- π¨ Responsive Design - Optimized for various screen sizes and orientations
- π Secure API Key Management - Environment variables for sensitive data
- β‘ Optimized Performance - Efficient API calls and image loading
- π Network Error Handling - Graceful handling of connectivity issues
- π± Cross-Platform - Runs seamlessly on both Android and iOS
- π Loading States - Beautiful loading indicators and error states
| Technology | Purpose | Version |
|---|---|---|
| Flutter | Cross-platform UI framework | Latest |
| Dart | Programming language | Latest |
| NewsAPI | News data source | v2 |
| HTTP | API communication | ^1.5.0 |
| WebView Flutter | In-app browser | ^3.0.1 |
| Flutter DotEnv | Environment variables | ^5.2.1 |
Before you begin, ensure you have the following installed:
- Flutter SDK (Latest stable version)
- Dart SDK (Included with Flutter)
- Android Studio or VS Code with Flutter extensions
- Git for version control
-
Clone the repository
git clone https://github.com/yourusername/trendo.git cd trendo -
Install dependencies
flutter pub get
-
Set up environment variables
# Copy the environment template cp .env.example .env # Edit .env and add your NewsAPI key # Get your free API key from: https://newsapi.org/
-
Configure your API Key
Edit the
.envfile:NEWS_API_KEY=your_actual_api_key_here
-
Run the application
flutter run
- Visit NewsAPI.org
- Create a free account
- Generate your API key
- Add the key to your
.envfile as shown above
The application uses environment variables for secure configuration:
# .env file
NEWS_API_KEY=your_newsapi_key_here.env file to version control. It's already included in .gitignore.
lib/
βββ config/
β βββ api_config.dart # API configuration management
β βββ api_keys_template.dart # Template for API keys
βββ models/
β βββ article_model.dart # Article data model
β βββ show_category.dart # Category model
βββ pages/
β βββ home.dart # Main home screen
β βββ category_news.dart # Category-specific news
β βββ article_view.dart # Full article view
β βββ onboarding.dart # App onboarding
βββ services/
β βββ news.dart # General news API service
β βββ show_category_news.dart # Category news service
βββ main.dart # Application entry point
assets/
βββ images/ # Static images and icons
βββ screenshots/ # App screenshots for README
- Hottest News - Horizontal scrollable trending articles
- Explore Categories - Circular category navigation
- Trending News - Vertical scrollable news feed
- Dynamic news filtering by category
- Responsive grid layout
- Pull-to-refresh functionality
- Full-screen WebView integration
- Loading indicators
- Navigation controls
- Flutter: 3.0.0+
- Dart: 3.0.0+
- Android: API level 21 (Android 5.0)
- iOS: 11.0+
- RAM: 4GB minimum, 8GB recommended
- Storage: 2GB free space
- Internet: Stable connection for news fetching
-
API Key Not Working
- Ensure your NewsAPI key is valid and active
- Check
.envfile configuration - Verify internet connectivity
-
Build Errors
- Run
flutter clean && flutter pub get - Check Flutter version compatibility
- Ensure all dependencies are up to date
- Run
-
WebView Issues
- Enable internet permissions in
android/app/src/main/AndroidManifest.xml - For iOS, configure
Info.plistfor web content
- Enable internet permissions in
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2024 Trendo News App
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.




