Skip to content

gaurigadkari/NYTimes

Repository files navigation

NYTimes

*NYTimes is an android app that allows a user to search for articles on web using simple filters. The app utilizes New York Times Search API.

User Stories

The following required functionality is completed:

The app has 2 screens defined below. Home Screen:

  • Allows the user to enter a search term and displays the results in either a list or grid view.
  • Use the ActionBar SearchView or custom layout as the query box instead of an EditText.
  • Results should display:
  • Article thumbnail
  • Article headline
  • Selecting an item in search results should open the detail screen.
  • Should have pagination of results

Detail Screen:

  • Displays a detailed view of article.

  • User can share a link to their friends or email it to themselves

  • Robust error handling, check if internet is available, handle error cases, network failures.

The following additional features are implemented:

  • As soon as user opens the app, a network call is made to show them current news.
  • User can click on "Filter" which allows selection of advanced search options to filter results based on news desk values
  • Subsequent searches have any filters applied to the search results
  • Filters are stored in shared preferences so that they will be retained even after application closes.
  • User can switch between list and grid view for news results
  • Heterogenous Layouts for different news articles that only have text or only have images
  • Leverages the data binding support module
  • Added placeholder images for news items.
  • Added a Splash screen.
  • Handled orientation change
  • Fixed crashes and handled no response and error response from server

Notes

Open-source libraries used

  • Retrofit2 - Simple asynchronous HTTP requests with JSON parsing
  • Glide - Image loading and caching library for Android
  • [CardView] - Implement card like layout for news article using Google Design library.

License

Copyright [2017] [Gauri Gadkari]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages