Coder Social home page Coder Social logo

deda9 / movizy Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 29.4 MB

Learn to write clean code with VIPER (Movies)

Swift 99.68% C 0.08% Ruby 0.24%
swift swift4 viper viper-architecture viper-pattern-architecture clean-code dependency-injection servicelocator autolayout autolayout-constraints

movizy's Introduction

Movizy

Hello! This Open Source Movies project, help beginners to learn how to write clean code with

  • VIPER Architecture
  • SOLID
  • Composition over inheritance
  • Service Locator

About Project

  • User can show the list of the movies.
  • User can show movie details.
  • User can search for specific movie with autocomplete feature.

Backend

  • This project uses themoviedb Apis (Read more)
  • You need to create new account and get the public key, but so far you can use the current key in the demo (Read more)

Code

  • This code written by Swift 4.2 and Xcode 10.1
  • This demo follow VIPER Architecture, SOLID, Composition over inheritance and Service Locator design for dependency injection
  • This demo reaches to the low-level so all the code is wrriten from scrach without using any third libraries except the network layer use Alamofire (read more) and SwiftLint for styling the code (Read more)

What to learn

  • How to write clean code by VIPER
  • How follow Composition over inheritance to make your code reusable.
  • Decode & encode JSON with Codable
  • Write protocol oriented network layer like Moya Read
  • Write network requests with Alamofire
  • Write simple DI with Service Locater Read
  • Wrapper to use native Autolayout Read
  • Simple wrapper to make chain animations Read
  • Create ToastView to show success & error messages Read
  • Wrapper to create Localizations Read
  • Write Simple image downloading with simple cashing with NSCache Read
  • Write Fade in & out transition Read
  • Write Zoom transition Read
  • Create UITableView GenericDataSource Read
  • Use SwiftLint Read
  • Learn how to write unit testing with Quick & Nimble
  • How to use SwiftLint with Cocoapods

movizy's People

Contributors

deda9 avatar

Watchers

 avatar

Forkers

st4n667

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.