Coder Social home page Coder Social logo

photoznapp's Introduction

PhotoZnapp

Pinterest UI with pure Swift

1. What is PhotoZnapp

PhotoZnapp is a gallery viewer application. Application consumes Unsplash’s public api. For more info please visit https://www.unsplash.com

PhotoZnapp written with these tools:

  • Swift 4.1
  • xCode 9.4

1.1 How to run project?

  • Clone https://github.com/behrank/PhotoZnapp.git from github.
  • Open PhotoZnapp.workspace with xCode 9.4
  • Click to run button.
  • No need to run “pod install” command on terminal.
  • Login process accepts any valid email address and minimum 6-character length password. Registration not required.

2. Features

These are the main features of PhotoZnapp:

  • Login with email and password
  • Photo gallery
  • Pinterest like display and navigation layout
  • Search on either users and photos

3. Technical Overview

Application uses Swift extensions and several UI’s written by me. You may find more info about application below.

3.1 Architecture

PhotoZnapp written with Clean Swift architecture ( https://clean-swift.com/ ) instead of Apple’s MVC.

3.2 Network

PhotoZnapp’s network layer built with Moya and Alamofire. PhotoZnapp uses Decodable protocol to decoding API responses into struct models in order to consume API.

3.3 Cache

PhotoZnapp uses NSCache for caching images to improve user experience and reducing Wi-Fi/mobile data usage.

3.4 UI

PhotoZnapp layout similar with Pinterest iOS application. Uses almost same scaling and navigation animation without any 3rd party library.

PhotoZnapp also uses Lottie framework for loading animation. Lottie is an iOS, Android, and React Native library that renders After Effects animations in real time, allowing apps to use animations as easily as they use static images. Lottie is an Airbnb product. Available for free via CocoaPods.

photoznapp's People

Contributors

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