Giter VIP home page Giter VIP logo

newsapp's Introduction

Getting Started

Note: Make sure you have completed the React Native - Environment Setup instructions till "Creating a new application" step, before proceeding.

Step 1: Start the Metro Server

First, you will need to start Metro, the JavaScript bundler that ships with React Native.

To start Metro, run the following command from the root of your React Native project:

# using npm
npm start

# OR using Yarn
yarn start

Step 2: Start your Application

Let Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:

For Android

# using npm
npm run android

# OR using Yarn
yarn android

For iOS

# using npm
npm run ios

# OR using Yarn
yarn ios

If everything is set up correctly, you should see your new app running in your Android Emulator or iOS Simulator shortly provided you have set up your emulator/simulator correctly.

This is one way to run your app โ€” you can also run it directly from within Android Studio and Xcode respectively.

Transcript

Build a news app that fetches the top 100 news headlines, stores them for offline access, displays them in a dynamic list view, and allows user interaction. To do this:

  1. Set up a new React Native project using either Expo or React Native CLI.
  2. For Fetching and Storing Headlines:
    • Implement a background task to fetch the top 100 news headlines from a news API of your choice. for e.g.ย https://newsapi.org/
    • Store these headlines in local storage for offline access.
  3. Splash Screen and Initial View:
    • On app load, display a splash logo of your choice.
    • After the splash screen, then show a list view with the first 10 headlines.
  4. Dynamic List Update:
    • Set up a timer that introduces a new batch of up to 5 random headlines to the top of the list every 10 seconds.
    • Allow users to manually trigger fetching the next batch from local storage and resetting the drip timer.
  5. Handling Exhaustion of Headlines:
    • When all headlines from the current batch have been displayed, reset local storage.
    • Fetch the next batch of headlines and populate the list view.
  6. User Interaction:
    • Allow users to swipe a headline to delete it or pin it to the top of the view.
    • A pinned headline should stay in view when the list updates, whether manually or automatically.
    • Deleting a headline should remove it from view, with the next headline appearing at the top of the list.
  7. Testing:
    • Test the app to ensure all functionalities work as expected.
    • Document any assumptions made and provide clear instructions on how to run the app.

What you need?

You need to have API key from newsapi in order to run the project, once API key is generated you can replace <API_KEY> in APIConstant.ts file and run the app.

Build to Test

Attached is app-release.apk for testing purposes.

newsapp's People

Contributors

imanshul avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.