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
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
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.
- 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
"Login" screen
"Create Account" screen
"Home - Coffee drinks" screen
"Coffee drink details" screen
"Home - Near Me" screen
"Home - Profile" screen
"Settings" screen