Skip to content

notoriousmarcos/ApolloChallenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Objective

Using Swift or Kotlin, your challenge is to build out a single page mobile app for URL shortening, integrate with the shrtcode API, and get it looking as close to the design as possible.

Brief

URL shortening is a technique on the Web in which a Uniform Resource Locator (URL) may be made substantially shorter and still direct to the required page. This is achieved by using a redirect that links to the web page that has a long URL. For example, the URL "https://example.com/assets/category_B/subcategory_C/Foo/" can be shortened to "https://example.com/Foo", and the URL "http://example.com/about/index.html" can be shortened to "https://goo.gl/aO3Ssc ".

Your challenge is to build a native iOS or Android app, integrate with the shrtcode API and get it looking as close to the design as possible. There are plenty of libraries and dependencies availble, feel free to use them. Reactive programming is a plus. In case of iOS, it is recommended to buid UI programatically and not use any storyboard or xib.

The assignment should take around 4-6 hours ideally but you can spend time as much as you need, we don't evaluate the time.

Your users should be able to:

  • View the optimal layout for the mobile app depending on their device's screen size
  • Shorten any valid URL
  • See a list of their shortened links ("Link History"). Link History should be persisted ideally.
  • Copy the shortened link to their clipboard in a single click
  • Delete a shortened link from their Link History
  • Receive an error message when the form is submitted if:
    • The input field is empty

Your task is to build out the project to the designs inside the /design folder. See the designs in Figma here: https://bit.ly/330dJxN See the designs as a video here: https://bit.ly/3sj8BAJ

You will find all the required assets in the /images folder. The assets are already optimized. The designs are in SVG format. This will mean that you'll need to use your best judgment for styles such as font-size, padding, and margin.

There is also a style-guide.md file containing the information you'll need, such as color palette and fonts.

Evaluation Criteria

  • Using Swift or Kotlin best practices.
  • Show us your work through your commit history
  • We're looking for you to produce working code, with enough room to demonstrate how to structure components in a small program
  • Completeness: did you complete the features?
  • Correctness: does the functionality act in sensible, thought-out ways?
  • Maintainability: is it written in a clean, maintainable way?
  • Testing: is the code adequately tested?

Deliverables

  • Write a README file to demonstrate choices and technical decision you made. Mention target platform version and any setup necessary to build the application.
  • Make sure to include all source code in the repository.
  • We recommend using latest tools which are stable(currently Xcode ~12.5 or Android Studio ~4.2. Do NOT use any beta versions. Make sure that your solution works fine before submitting and it will not take a lot of time for our team to build and run your code. If it takes a lot of time to setup and run the code, we ll reject the solution.

CodeSubmit

Please organize, design, test, and document your code as if it were going into production - then push your changes to the master branch. After you have pushed your code, you may submit the assignment on the assignment page.

Have fun building! 🚀

The Apollon Fulfillment GmbH Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published