Giter Club home page Giter Club logo

doghero-challange's Introduction

Supported language:

Summary

  1. Introduction
  2. Architecture
  3. TODO
  4. License

My heroes list

The requirements raised for this assignment shall test concepts of:

  1. Architectural design for Android Applications;
  2. Ability to communicate with complex end-points, parsing JSON responses and update UI;
  3. Use Apiary to communicate with api, to check documentation click in link
Requirements
ID Name Description
REQ001 Get my heroes Application must be able to read an URL and parse url
REQ002 Display list heroes Display list when click in item on bottom navigation view
REQ003 Display empty heroes When not has heroes show empty view
REQ004 Display error screen When something is wrong on request show error view



Architecture Uses concepts of the notorious Uncle Bob's architecture called Clean Architecture. The software produced by this architecture is going to be:

Independent of Frameworks. Testable. Independent of UI. Independent of Database.

-----------------

Android

  • Android Support Library Provides additional convenience classes and features not available in the standard Framework API for easier development and support across more devices.

Architecture and Design

  • Android Architecture Components A collection of libraries that help you design robust, testable, and maintainable apps. Start with classes for managing your UI component lifecycle and handling data persistence.
  • [Koin] A pragmatic lightweight dependency injection framework for Kotlin developers.

Reactive

  • RX Java A library for composing asynchronous and event-based programs using observable sequences for the Java VM.
  • RX Kotlin RxJava bindings for Kotlin.
  • RX Android RxJava bindings for Android.

View and Image

  • ConstraintLayout Allows you to create large and complex layouts with a flat view hierarchy (no nested view groups).
  • RecyclerView A flexible view for providing a limited window into a large data set.
  • Glide An image loading and caching library for Android focused on smooth scrolling
  • SectionedRecyclerViewAdapter An Adapter that allows a RecyclerView to be split into Sections with headers and/or footers. Each Section can have its state controlled individually.
  • CircleImageView A circular ImageView for Android
  • GifImageView Android ImageView that handles animated GIF images

Data Request

  • Retrofit A type-safe HTTP client for Android and Kotlin.
  • OkHttp An HTTP & HTTP/2 client for Android and Kotlin applications.
  • Gson A Converter which uses Gson for serialization to and from JSON..

Tests

  • Junit) JUnit is a unit testing framework for the Java programming language.
  • Mockito A small library that provides helper functions to work with Mockito in Kotlin.
  • kluent Kluent is a "Fluent Assertions" library written specifically for Kotlin.
  • kakao Nice and simple DSL for Espresso in Kotlin

TODO

Copyright 2018 Uzias Santos Ferreira

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

doghero-challange's People

Contributors

uziassantosferreira avatar

Stargazers

 avatar

Watchers

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