Giter Club home page Giter Club logo

tvshows's Introduction

TVShows

Get the list of TV shows aired in United States for the week

This exciting app gets the its feed from http://www.tvmaze.com/api

Architecture:

I have used MVVM architecture keeping modularization and scaling in mind and following the SOLID principle. VM binding with its view is done using generic Observable called Box

I have also used a factory pattern (ViewControllerFactory) to have easy access to all viewcontroller at one place. so that viewcontrollers can be used/reused without worrying about underlying details

It's a universal app which contains Master-Detail Design pattern for iPad and supports Potrait mode only for iPhone keeping in mind best user experience.

You can view the schedule for each day by swiping left or right(have used UIPageViewController) navigation from master to detail using a delegate pattern. I have done all my views in code, so no xib or storyboard. Images are loaded asynchronously on a separate thread for lazy loading and smooth scrolling.

I have a generic network layer, and the API for web calls are defined in Protocol for easier mocking. I have unit tested only my view models because that's where all my business logic resides.

iPad Potrait:

Screen Shot 2020-06-16 at 8 02 42 AM

iPad Landscape:

Screen Shot 2020-06-16 at 8 06 21 AM

iPhone Potrait:

image (3)

tvshows's People

Contributors

aliasgarmala avatar

Watchers

James Cloos avatar  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.