Professional Documents
Culture Documents
1. The app should use a single Activity with multiple Fragments. Transitions
between fragments use the Navigation component and transition animation
actions
2. The screens use fragment layouts, created using ConstraintLayout and Data
Binding
3. On-device data storage of your entries are managed with Room at the database
level, and surfaced to the UI through ViewModels via LiveData
4. Background tasks are handled by WorkManager
5. Testing is performed by both local JUnit tests and Espresso Android UI tests
6. Your application layouts should be designed using Material Design principles
7. You need to have relationships among your entities, at least between two of
them
8. Your application should be developed in Kotlin programming language
9. Your application should be published on git repository and there should be
enough commits that should the progress of your work
10. You need to have separate commits at least per feature for each of the
architectural components shown below (View, ViewModel, Repository, Model,
and Remote Data Source)
Note: The words in bold are the technologies you might need to explore more to complete
your project successfully
Note: You need to have RESTful web API service written in Spring Boot or some other
technology of your choice
References:
Conceptual:
https://developer.android.com/jetpack/docs/guide
https://material.io/collections/getting-started
Sample APP:
https://github.com/googlesamples/android-sunflower
https://github.com/googlesamples/android-architecture-components/tree/master/
BasicSample/app
Codelabs:
https://codelabs.developers.google.com/codelabs/android-lifecycles/#0
https://codelabs.developers.google.com/codelabs/android-lifecycles/#0