GithubHelp home page GithubHelp logo

events's Introduction

Events

Mobile Coding Exercise

Instructions

For this coding exercise, you must fetch data from a REST API and populate a list on screen. While the scope of this task is small, imagine your solution will be applied to a full scale application.

Add however much flair and polish you think appropriately showcases your talents as a mobile developer. Be sure to use Kotlin/Java for an Android solution, or Swift for an iOS solution.

Please see the included Example.png for what you should aim for your UI to look like. Your UI does not have to match exactly, this is simply an example.

You will be evaluated based on:

  • Use of best practices
  • Scalability
  • Testability

Architecture

  • This project was developed using the MVVM design pattern. The main reason to choose this solution is scalability and testability. Although a MVC pattern would work fine for this project as it currently is, as the project grows it would be important to have a more defined separation of concerns with the addition of the ViewModel.
  • A VIPER design pattern would be overkill for this project as it is more suitable for big applications and large teams.

Final project comments

  • Make sure to use the file named "Events.xcworkspace" to test this project as it is using Cocoapods
  • Integrated Kingfisher library for image caching
  • Integrated Alamofire for network fetching
  • Added a unit test to confirm that we are able to fetch the list of events from the server correctly
  • Implemented a search feature to filter the events by name
  • Implemented a favorites tab that you populate by tapping the heart button on the home screen
  • Added icons for app and tab bar
  • Created a black gradient layer on top of the event images to make text readable
  • There is nothing implemented on the Browse, My tickets and Account tabs
  • Used User Defaults for persistence
  • Implemented Auto Layout

events's People

Contributors

jpaaquino 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.