Skip to content

App for reading news created in Flutter using News API and Firebase authentication

License

Notifications You must be signed in to change notification settings

vukan-markovic/news9

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

News9

Internship project - Flutter - April 2021

The main goal of this project was to provide users a way to sign up, sign in to the application, see the list of news, open and read news, browse news by date, categories, sources, keywords, etc., save favorite ones and see them later.

Used News API for fetching news and Firebase for authentication.

Support mobile (Android & IOS), web, and desktop (macOS) app.

1 2 3

4 5 6

7 8 9

10 11

Getting Started

  1. Setup Flutter

  2. Clone the repo

    $ git clone https://github.com/Vukan-Markovic/news9.git
    $ cd news9
    
  3. Setup Firebase app

    1. You'll need to create a Firebase instance. Follow the instructions at Firebase console.

    2. Once your Firebase instance is created, you'll need to enable Google and Email/Password authentication:

      • Go to the Firebase Console for your new instance
      • Click "Authentication" in the left-hand menu
      • Click the "Sign-in method" tab
      • Click "Google" and enable it
      • Click "Email/Password" and enable it.
    3. For Android:

      • Create an app within your Firebase instance for Android, with same package name as this app.

      • Run the following command to get your SHA-1 key:

        keytool -exportcert -list -v \
        -alias androiddebugkey -keystore ~/.android/debug.keystore
        
        • In the Firebase console, in the settings of your Android app, add your SHA-1 key by clicking "Add Fingerprint".

        • Follow instructions to download google-services.json.

        • Place google-services.json into news9/android/app/.

    4. For IOS:

      • Create an app within your Firebase instance for iOS, with same package name as this app.

      • Follow instructions to download GoogleService-Info.plist, and place it into news9/ios/Runner in XCode.

      • Open news9/ios/Runner/Info.plist. Locate the second CFBundleURLSchemes key. The item in the array value of this key is specific to the Firebase instance. Replace it with the value for REVERSED_CLIENT_ID from GoogleService-Info.plist.

    5. For macOS:

      • Place same GoogleService-Info.plist into news9/macos/Runner in XCode.
    6. For Web:

      • Create an app within your Firebase instance for web, with same package name as this app.

      • Create file firebase_config.js at news9/web and follow instructions to initialize firebase config variable for the web here.

  4. Run the app

    $ flutter run