Coder Social home page Coder Social logo

sampleproject3's Introduction

Test app

Created by Gaetano Cerniglia on Mar 2020.

Copyright © 2020 Gaetano Cerniglia. All rights reserved.

This app will display a search input text on the first screen. Once the search has started, the app will try to recover data from the Pixabay API, if successful, the app will memorize the query searched and show the search results page. The search page will start downloading the images and store the downloaded images in a cache. Before starting a new search and before showing an image, the app will try to recover the cached data. The cache has a limit and is automatically cleared when the limit is reached or when the app receives a memory alert.

Time spent: less than 1 day

Tech notes

- Language Swift 5
- Support iOS: 13.0+
- Pattern: MVVM-C
- Combine Apple Framework is used to bind the Model with the UI
- Apple NSCache is used to manage the Cache
- Approach: SOLID
- Dependency Manager: No Dependency

Features

= Cache of the search results 
= Cache of the downloaded images

Additional information

- The app handle errors and responses with completition escaping blocks and enumerations
- The cache is managed by the NSCache Class, setup with a limit checking eventually memory wornings
- MVVM-C design pattern applied following a SOLID approach

Improvements

- We could use a Database to store the results before to quit the app
- All the classes should be mocked to improve the quality of the tests
- The test should cover 100% of the app
- The images can be optimised before to be stored
- Some animation could improve the UX
- The coordinato can be improved to handle bigger UI

sampleproject3's People

Contributors

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