Skip to content

Repository files navigation

Simple News

A clean, minimalist news aggregator app with a black and white theme. Simple News provides a distraction-free reading experience while keeping you informed about the latest news.

Features

  • Clean, minimalist black and white UI design
  • Real-time news updates
  • Personalized news feed
  • Offline reading capability
  • Bookmark articles for later
  • Share articles with friends
  • Multiple news categories
  • Dark mode support

Environment Variables

This project uses an API key for the News API. Do not commit your API key to version control.

  1. Copy .env.example to .env in the project root:
    cp .env.example .env
  2. Add your News API key to the .env file:
    API_KEY=your_actual_api_key_here

The app uses flutter_dotenv to load environment variables.

Getting Started

Prerequisites

  • Flutter SDK (latest stable version)
  • Dart SDK (latest stable version)
  • Android Studio / Xcode for mobile development
  • VS Code (recommended) or your preferred IDE

Installation

  1. Clone the repository:
git clone https://github.com/sabiqsabry/simple-news.git
cd monotone_news
  1. Install dependencies:
flutter pub get
  1. Set up your environment variables as described above.

  2. Run the app:

flutter run

Architecture

The app follows a clean architecture pattern with the following structure:

monotone_news/
├── lib/
│   ├── config/         # App configuration
│   ├── models/         # Data models
│   ├── providers/      # State management
│   ├── screens/        # UI screens
│   ├── services/       # API services
│   ├── themes/         # App theming
│   └── widgets/        # Reusable widgets
├── assets/
│   ├── images/         # Image assets
│   └── fonts/          # Font files
└── test/              # Test files

Dependencies

  • provider: State management
  • http: API calls
  • shared_preferences: Local storage
  • url_launcher: External links
  • flutter_local_notifications: Push notifications
  • google_fonts: Typography
  • cached_network_image: Image caching
  • intl: Internationalization
  • flutter_dotenv: Environment variables

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Flutter team for the amazing framework
  • News API for providing the news data
  • All contributors who have helped shape this project

About

Clean, fast, and modern Flutter news app using NewsAPI. Supports category filtering, article saving, and dark/light themes.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages