Skip to content

FM:Systems Mobile Engineer Coding Exercise

Notifications You must be signed in to change notification settings

FMSystemsGroup/mobile-engineer-exercise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

FM:Systems Mobile Engineer Coding Exercise

Make sure you read this document carefully and follow the guidelines we've provided.

Context

You are an independent journalist/blogger that is just getting started in the industry. Your success depends on whether you can consume and analyze a variety of news sources from around the world and then use your creative abilities to report and provide news commentary, via your blog, that is so engaging that it will drive more readers to your blog and thus increasing your net worth via advertising revenue.

Even though journalism is your passion, you also consider yourself someone who is good with solving problems through writing code after taking several courses in software engineering in college. With that in mind, your first thought on how to quickly consume and aggregate news sources was to write a screen scraper application to pull content from the popular new sites. However, after reviewing the terms and conditions for those sites, you decided that you wanted to avoid any potential any legal exposure by not violating any copyright laws. After some additional research, you seem to have hit the jackpot by discovering that there is a freely available API, News API, that has all of this information already aggregated and all you would have to do is to build an app to consume the data.

With a possible solution in mind, your task is to build an native app to consume this API and display its data in an Android or iOS app. To call the API, you will have to register for an API key as an individual. There is no cost involved. You will have to provide some basic information and agree to the terms and conditions of the provider. If you are not comfortable with this registration, then you will not be able to complete this excercise.

Now that you have an API key, here are the requirements for this assignment.

Requirements

Requirement 1:

Build a mobile app using React Native to consume data provided by this API.

Requirement 2:

Build the app with a minimum of two screens:

  1. A screen that list new articles
  2. A screen that displays the details of a single article

Requirement 3:

Display all relevant data from the news article ensuring that the news source is credited.

Requirement 4:

Submit a version of this app to us within one week of receiving it; however, the sooner we receive it the better.

Bonus

  • Write clear documentation on how the app was designed and how to run the code.
  • Provide steps on how you would go about deploying this app to run on a real device
  • Describe optimization opportunities when you conclude.

What matters in this exercise

We're interested in your method and how you approach the problem just as much as we're interested in the end result. Use any libraries/packages you would normally use if this were a real production application.

Note: we're interested in your code & the way you solve the problem, not how well you can use a particular library or feature.

What you should strive for

  • Good use of current React and JavaScript design patterns.
  • Good use of performance best practices.
  • Solid testing approach.
  • Extensible code.
  • Able to explain your design decisions.
  • Demonstrate good git best practices.

Q&A

Where should I send back the result when I'm done?

Fork this repo and send us a pull request when you've completed the exercise. Do not commit your News API secret key.

What if I have a question?

Create a new issue in this repo and a team member will get back to you ASAP.

About

FM:Systems Mobile Engineer Coding Exercise

Resources

Stars

Watchers

Forks