Skip to content

This is an app demonstrating some of the features that I am able to work on android development. The Punk API was used in this app: (https://punkapi.com/documentation/v2). The theme of the app and design are beer.

Notifications You must be signed in to change notification settings

tiagomnunes89/beer-app

Repository files navigation

Punk Beer App

This is an app demonstrating some of the features that I am able to work on android development. The Punk API was used in this app: (https://punkapi.com/documentation/v2). The theme of the app and design are beer.

Knowledge used

  • Consume REST APIs
  • Handling of possible errors in the API response call
  • JSON animation with lottie for loader
  • Native animation for lists
  • RecyclerView with list with the first item different from the others and the RecyclerView Adapter
  • SharedPreferences for data persistence
  • Code versioning here on GitHub
  • Full Kotlin project with comprehensive use of resources of the language
  • Object-oriented programming with Kotlin
  • Image rendering with Fresco
  • Conversion of photos to webP specifically for efficient loading of images online, presenting smaller yet more visually-pleasing pictures
  • Manipulation of the Manifest.xml file for access access, theme configuration and screens
  • Unit tests using Mockito, Koin and coroutines resources
  • Koin for Dependecy Injection
  • Coroutines to simplify code that executes asynchronously (multi-thread)
  • JSON Parser to Kotlin Class (serialization and deserialization)
  • Reactive programming (using observers, listeners, livedata)
  • Structured project with MVVM and clean architecture using Jetpack Architecture Components
  • Retrofit configuration, a type-safe HTTP client to consume RESTful web services
  • Gradle dependencies configuration
  • Design patterns and SOLID principles applied
  • UX for immersion in the world of beer and bars
  • Creation of complex layouts structuring hierarchies with ConstraintLayout, ScrollView and FrameLayout in XML
  • App icon customization
  • Use of the Android Studio IDE features to fix and improve code
  • Manual usability testing