/news_infinit

Primary LanguageDartMIT LicenseMIT

About me

Youtube Udemy Linkedin: HadiKachmar Facebook: HadiKachmar Discord GitHub followers

This Project is to Cover a Flutter News App using News API

This project is a Flutter application for displaying all news with pagination and the latest news from various categories. It follows clean architecture principles and organizes code into a clear directory structure.

If you are new to Flutter with Rest API you can check

  1. Flutter 3.0 & Rest API crash course, build a store app - Course For Beginners
  2. Flutter 3 0 Rest Api Crash Course, Build a News App From Scratch - Course For Experienced Mobile Developers

If you find this project useful, please consider giving it a star ⭐ on GitHub to help spread the word. And if you are interested in following my contributions, give me a follow on GitHub!

License

This project is open-source and available under the MIT License. See the LICENSE file for more details.

Mockup-InfinitNews_smalle

Project Structure

Below is a visual representation of the project's directory structure:

Project Structure

The application is organized into the following directories:

  • lib/: Main directory for Dart source files.
    • constants/: Contains all the constant values used throughout the app.
    • models/: Data models that represent the structure of the objects used in the app.
    • services/: Services for handling core functionality such as API calls, navigation, and data persistence.
    • utils/: Utility classes and functions that provide reusable and commonly used functionality.
    • view/: Directory containing UI-related widgets that represent the visual elements of the app.
    • view_models/: ViewModels that contain the state and business logic of the app, separated from the UI.
    • main.dart: The entry point of the application.

State Management

This app uses the Provider package for state management.

Each major feature has its own Provider that encapsulates its state and business logic, ensuring a separation of concerns and easier maintainability.

Download and Test the App

To test the app, pre-built Android APKs are available for download. You can find them in the repository under the following link:

Android APKs for Testing

Simply download the appropriate APK file to your Android device and install it to begin testing.

Usage

To run the app, ensure you have Flutter installed and your environment is set up, then execute:

flutter run