Giter Club home page Giter Club logo

faire-android-test's Introduction

faire-android-test

This project is a test for an Android position at Faire

Trade offs

  • Project architecture

    This project uses Clean Architecture to organize it's classes, but this also means that a lot of boilerplate is necessary in the beginning of the project, but this allows one to extend and maintain the project more easily.

  • First-party Libraries

    Some 1st party libs were used to improve project maintainability and scalability like Jetpack Navigation and Databinding, but this also means that some initial time is necessary to setup classes and resources while it also increases the final package size (since it now has more dependencies in it).

  • Delegate image loading to a 3rd party library

    This project used Glide to load images. While it's a great tool and easy to use, it also breaks the code architecture a bit since it has it's own lifecycle

How to run this project

  1. The easiest way to run this project is with Android Studio. Download it from google (https://developer.android.com/studio) or install it from your system's package distribution platform.
  2. Download the project either by cloning it with git or as a zip file. In case you opt for a zip file, extract it in a folder of your choice.
  3. Open Android Studio and open the project folder in it.
  4. After the indexing is completed, connect a physical device or an emulator (The device must be in developer mode with USB debugging enabled).
  5. Select the device you want the app running

image

  1. Click on the green play button at the right and wait for the app to come online (this can take some time, especially in the first run). Note that you need an internet connection.

3rd party libraries used

This project uses some Third-party libraries

  • Glide

    Glide is used to download and show images. In the case of this project, is used to show an illustrative image of the weather state

  • Retrofit

    This is well-known library responsible to map Rest APIs and facilitate data parsing of the response.

  • Koin

    One of many options for dependency injection. It's a lightweight easy-to-use DI lib made with Kotlin in mind. It uses a declarative-style syntax that takes advantage of the Kotlin code style that is easy to understand.

Additional information

  • This project is configured to run starting from API level 27 (Android Oreo)

faire-android-test's People

Contributors

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