This Flutter News App is a mobile application designed to provide users with up-to-date news articles from various sources. The app allows users to sign in or sign up using Firebase authentication and securely stores their login status using Shared Preferences. It fetches news data in real-time from a designated API and displays it in an organized tile format.
-
Firebase Authentication: Users can create accounts, sign in, and securely store their login status.
-
Real-time News Feed: The app fetches news articles from an external API in real-time, ensuring users receive the latest updates.
-
International Phone Number Input: The
intl_phone_number_input
package is integrated for efficient phone number input validation and formatting. -
User Preferences: The app utilizes the
shared_preferences
package to remember user login status, providing a personalized experience.
To set up and run this Flutter News App on your local machine, follow these steps:
-
Clone the repository:
git clone https://github.com/your-username/your-repo.git
-
Create a .env file in the root folder.
-
Add your api key as:
API_KEY = [YOUR_API_KEY]
-
Install Packages:
flutter pub get
-
Configure Firebase:
- Create a Firebase project at https://console.firebase.google.com/.
- Add your Android and iOS apps to the Firebase project.
- Download and place the Firebase configuration (google-services.json and GoogleService-Info.plist) in the respective platform folders android/app and ios/Runner).
-
Run the app.
This project utilizes several Flutter packages, including:
-
intl_phone_number_input: Provides a user-friendly input for international phone numbers.
-
flutter_dotenv: Loads environment variables from a .env file.
-
shared_preferences: Stores key-value data for user preferences.
-
http: Facilitates HTTP requests and API data retrieval.
-
rename_app: Allows easy renaming of the Flutter app.