/chuck.it

Using the latest android development features to build an application that consumes chucknorris.io api

Primary LanguageKotlin

Chuck it

Build Status

what is chuck it?

Wanna know more about Chuck Norris? Chuck it can help you! The application can show you some Chuck Norris Facts based on the chuck norris API! Try it out!

Project Setup

Clone the repo with git clone https://github.com/eduardomartinsl/chuck.it.git, open the project in Android Studio, Sync Gradle and wait for it, hit "Run". Done!

Architecture Overview

  • Dependency Injection: Dagger2
  • Architectural pattern: MVVM

Dependencies

  • OkHttp3
  • ViewModel
  • LiveData
  • Saved state module for ViewModel
  • Gson
  • retrofit
  • dagger
  • fragment
  • Navigation
  • GSON Converter
  • room
  • Kotlin Extensions and Coroutines support for Room
  • Loading Dots

Version Control

The branches are divided in:

  • Main: Stable version of the app, ready to build.
  • Develop: Used to implement new features or general fixes

Every new implementation should come from the develop branch, and any merge on the main branch should be made with pull requests. Also, the commit messages should begin with the following prefixes:

  • imp: Implementation (new features, for example)
  • fix: General Fixes (Bugs, for example)
  • test: test implementations

Note: this is not a rule. the prefix objetive is to help on the issue identification

Testing

  • Gradlew test for Unity Tests
  • Gradlew connectedAndroidTest For integrated tests