Giter Site home page Giter Site logo

crypto-currency-challenge's Introduction

Introduction

Welcome to Yoti's code challenge project. This repository contains an Android application with some basic functionality to support the development of the code test required during the hiring process for an Android developer in Yoti.

The challenge

A candidate have to add the required code in this project to implement the following feature:

  • When the user open the app, we need to display a list of crypto currency assets (see CoincapService and AssetsApiData), displaying the asset name and symbol.

  • When the user tap on an asset, we navigate to a new Fragment where we need to display detailed view of one Market (see CoincapService and MarketsApiData) that has the selected crypto currency as the "baseId", and has the highest volume transacted in the last 24 hours ("volumeUsd24Hr"). The information to display in this view is:

    • Exchange ID
    • Rank
    • Price
    • Updated date with the format "Day/Month/Year"

Guideline

The candidate is free to implement the solution in any way that consider appropriated but bear in mind that we in Yoti love well designed, clear and simple code. SOLID principles and Clean Architecture are fundamental concepts in our development philosophy.

Below some points and tips that we evaluate:

  • The functionality needs to be testable, and adding different types of tests as the candidate consider appropriated is not only a very positive bonus but almost a requirement. The absence of tests can be a very strong factor to fail this exercise.
  • The presentation layer can be implemented following any of the industry well known patterns: MVVM, MVP, etc. Although is not mandatory, using one of these paradigms is a positive point in the evaluation.
  • Use any third party library not included in the project if needed.
  • The webserver API used in this exercise can frequently return errors when many requests (sometimes just a few) are performed from the same IP address. Take this into account as part of the exercise to treat errors properly.

How to submit the code challenge to Yoti

  • The candidate can checkout the project locally and push to a newly created repo with public permissions so we can access it (please DO NOT use Fork button from github). Alternatively, you can clone the project and send the recruiter the updated project in a zip file.

Reference links

crypto-currency-challenge's People

Contributors

samuelrbrt avatar adrienvioletyoti avatar dguerrero avatar

Watchers

 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.