Git Product home page Git Product logo

naveedahmad99 / flickrsearch Goto Github PK

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

Write a mobile app that uses the Flickr image search API and shows the results in a 3- column scrollable view. • The app must let users enter queries, such as "kittens". • The app must support endless scrolling, automatically requesting and displaying more images when the user scrolls to the bottom of the view. • Do not use third-party libraries. They should not be needed for a project of this scale and we want to make sure you are familiar with the basics. • We should be able to clone your code from Github, then run the project without doing any additional work.

Kotlin 97.72% Java 2.28%

flickrsearch's Introduction

FlickrSearch (Kotlin)


Alt text

The application has a very basic UI. No work has been done on the design due to shortage of time and a lesser creative mind. The app has the following structure.

  • activity
    • MainActivity (Base class for handling common functionality for all Activities)
  • adapter
    • GenericAdapter (Adapter class for handling data)
    • CustomBindingAdapter (Binding Adapter class for handling ImageView src)
  • utils
    • NetworkRequestUtil (Handled all the network operations here)
  • viewmodel
    • MainActivityViewModel (ViewModel of the MainActivity)
    • PhotoData (Model for Flickr Photo Object)

Probable Improvements for future

  • Improve Image Caching Library to use local cache and avoid external storage.
  • Use Serialization/Deserialization libraries to avoid writing long parser classes.
  • Handle error codes with Api class and send meaningful callbacks.
  • Improve Design to make it more fluid and follow Material Guidelines.
  • Write UI and Unit Test cases. (Will need use of Third Party Libraries, hence avoided)
  • Need to update Proguard for code obfuscation.
  • Refactor code to follow a Clean Architecture guideline and improve usage of interfaces and dependency injection to avoid tight coupling between classes.

flickrsearch's People

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.