Giter Site home page Giter Site logo

ios's Introduction

Articles Headlines App

Create a proof of concept for an App that displays trend articles and allows the user to save the news for reading later.

Requirements

  • App to be built with a tab bar main navigation containing 3 tabs: Headlines, Sources, Saved.
  • Headlines: screen to display a list of headlines based on the user-selected sources, each row should display (title, description, author, and thumbnail picture)
    • Tapping on a row should open the headline URL to read the full article within the app.
    • When viewing an article the user should be able to save it for reading later.
  • Sources: screen to display the list of available sources for articles, the user should be able to select multiple sources and the selection should persist user sessions.
  • Saved: screen to display a list of previously saved headlines, tapping a row should open the article for reading, the same way as the Headlines screen.
  • User should be able to delete previously saved articles
  • Previously saved articles should persist app launches
  • Integrate the app with https://newsapi.org/ API to fetch data (register to get your API Key)

Key points under evaluation

  • Design and implement an app that can achieve all of the goals described above
  • Highly modular
  • Use of modern Swift syntax
  • Good use of MVC, MVVM preferable
  • Reuse of components
  • Simple and concise code and project structure
  • Clarity over brevity
  • It is expected from the App to offer a good UX
  • Programmatic UI with UIKit
  • RxSwift would be a big bonus
  • Unit testing, provide coverage of important areas in the code

Points of consideration

  • Pagination is not required, API will return only the latest 10 articles per source
  • Documentation for the API https://newsapi.org/#documentation
  • Filter sources to be only for the English language
  • A note on the usage of certain Libraries, you can use libraries you would normally use in a real project, however, use good judgment when deciding which ones, for example, using a NewsAPI client is not acceptable

Allocated time

  • Please provide submission no more than 3 days after received.
  • Submissions will only be accepted via GitHub.

ios's People

Contributors

edi-medibank avatar medibank-digital avatar rohitjb 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.