Coder Social home page Coder Social logo

beerpedia's Introduction

BeerPedia

Ho cercato di usare una struttura MVVM come pattern di programmazzione e usando le librerie di Alamofire, swiftyJson e kingFisher Perchè di queste librerie ? le ho usato quelle poche volte per la realizzazione di qualche piccolo progetto e migliorano il lato codice.

Insieme al MVVM ho scelto di implementare le mie views con components creati separati (le card che si vedono all'interno di detailView) questo approccio l'ho visto in molti progetti su github e ne ho modificati alcuni, permette la manuntezione e il riutilizzo delle view e sopratutto del codice e in caso di modifiche future si lavora direttamente sul componente o funzione interessata senza stravolgere l'app

Inoltre l'app è stata implementata con condizioni di verifica per evitare crash e arresti anomali, li dove si poteva inserire un caricamento o una progressview.

Sopratutto per quando si va a perdere la connessione ad internet viene subito attraverso il networkManager viene ascoltato lo stato della connessione e in caso sia irragiunibile o "incerta" viene attivato l'if statament all'interno di content view

Content view ha le funzioni di refresh ogni volta che viene tirata in basso la lista viene chiamata la funzione all'interno di beerListViewModel beerListViewModel viene implementato per essere riutilizzato nella con un metodo for each che genera una cella per ogni birra presa dall'API

beerListViewModel inizializza APIService così da caricare in modo automatico la lista

Il processo di ottenimento API viene gestito con ApiService che funge da classe per la presa dei dati dall'API

Viene poi creado un beerModel e BeerViewModel per i passaggi dei dati dall'API alle classi dell'app

Per il design dell'app ho cercato di avere una schermata pulita e ordinata con qualche effetto ottico tipo lo scroll horizzontale dove viene letto il metodo di preparazione della birra.

Purtroppo non sono riuscito a implementare le funzioni alternative per mancanza di tempo in questi giorni.

Spero che con questo TEST dia esito positivo in merito alla candidatura fino ad allora. Cordiali Saluti, Alex.

beerpedia's People

Contributors

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