Skip to content

AlexZhukovich/ImBarista-App

Repository files navigation

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages