Skip to content
No description, website, or topics provided.
Kotlin
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
art
cache
commonAndroidTestData
commonTestData
data
domain
gradle/wrapper
mobile-ui
remote
.gitignore
LICENSE
README.md
build.gradle
dependencies.gradle
gradle.properties
gradlew
gradlew.bat
ktlint.gradle
settings.gradle

README.md

ImBarista-App

The I'm Barista application has a list of coffee drinks with a description of each coffee drink. The app was created for testing workshop and demonstrate many general practises which are usually used in mobile applications.

Note: If you want to improve basic of Espresso framework and skills of creating custom Hamcrest Matchers you can check the IntroToAndroidUITesting repository.

Create Account and Login screen

Coffee drinks, Near Me and Profile screens

Coffee drinks details and Settings screens

Application diagram with connections between screens

Features of the application:

  • Demonstrating list of coffee drinks
  • User can mark/unmark coffee drink as a favourite
  • User can create account/Login into app
  • User can interact with a map and find a cafe

Frameworks and Tools

Development Frameworks and Tools:

  • Kotlin
  • Kotlin coroutines
  • Android SDK
  • Android Jetpack
  • Material Design Components
  • Picasso
  • RxJava
  • RxKotlin
  • Retrofit
  • Gson
  • Koin

Maps Frameworks and Tools:

  • Google Maps
  • TomTom Maps

Testing Frameworks and Tools:

  • Espresso
  • Ui Automator Viewer
  • Test Orchestrator
  • Robolectric
  • JUnit
  • MockK

Structure of the project

The source code split between different modules:

  • domain
  • data
  • remote
  • cache
  • mobile-ui

Modules for generating test data:

  • commonTestData
  • commonAndroidTestData

The project has the main branches:

  • master
  • workshop-start

The master branch has all test cases with solutions.

The workshop-start branch has all failed test cases with description for each test case and test classes.

Configuration

  • TomTom Maps API key should be added as System variable with the BARISTA_TOMTOM_MAPS_API_KEY key
  • Google Maps API key should be added as System variable with the BARISTA_GOOGLE_MAPS_API_KEY key

App screens with views

"Login" screen

"Create Account" screen

"Home - Coffee drinks" screen

"Coffee drink details" screen

"Home - Near Me" screen

"Home - Profile" screen

"Settings" screen

You can’t perform that action at this time.