LinkedIn


Logo

Next News App

View Demo »

Table of Contents
  1. About The Project
  2. Getting Started
  3. Contact

About The Project

Screenshots

Logo Logo Logo Logo Logo Logo Logo Logo Logo Logo Logo

In this Application you have the ability to

  • Fetch top news headlines from multiple news providers.
  • You have the ability to filter the headlines with the source and category.
  • You can search headlines by keyword with the debounced search input.
  • Headlines list is paginated to show 12 news headlines per page.
  • There's a watch list to get a list of news headlines you read in the past.
  • On each news headline card, there's a Read More button to go to the detail page of that headline.
  • There's another button to temporarily update a news headline title in the state management. There's an input validation to check titles with less than 256 characters. (FYI: updated title be reset once that news headline is re-fetched.)
  • News details page will be server side rendered and it'll show the full content of the selected news headline.
  • Included a button to demonstrate calling erroneous API to show error handling with an error alert.

(back to top)

Built With

(back to top)

Getting Started

This is a Next.js project bootstrapped with create-next-app. with the typescript template.

Prerequisites

Make sure you have node installed in order to run this application locally.

  • upgrade npm to the latest version
npm install npm@latest -g

Installation

  1. Clone the repo
git clone https://github.com/sudeshnt/next-news-app
  1. Install node modules using one of the following commands
npm install
yarn
  1. In the project directory, you can run either:
npm run dev
yarn dev
  1. Runs the app in the development mode.

Open http://localhost:3000 to view it in your browser

  1. Launch the test runner in the interactive watch mode.
npm run test
yarn test
  1. Builds the app for production to the build folder.
npm run build
yarn build

(back to top)

Contact

Sudesh Nimesha - sudeshnt93@gmail.com

(back to top)