-
Notifications
You must be signed in to change notification settings - Fork 8
Home
This project contains the following packages:
-
domain
- gather entity domain & repository -
view
- the views of the app -
data
- contains the datasource of the app (remote web services, database ...) -
util
- util classes & extensions -
di
- Koin dependency injection definitions
The app is composed of 3 views:
-
splash
- the first screen of the app, that loads the last weather or the default weather -
weather
- main screen of the app, displaying the weather of the day and next days for the given location -
detail
- display one weather data day, chosen from weather view
Yes, we have some tests :)
- Unit tests in
test
folder, contains Presenter/ViewModel mock tests - Android instrumented in
androidTest
folder, will be used for Room part
the weather app can work online or offline (see MainApplication
). By default, the app is configured as offline. But you can type the following cities in offline mode:
- Paris
- Toulouse
- London
- Madrid
- Berlin
Follow carefully each exercise and read each step. TODO sections will contain what you will have to do in each part.
The project contains all the Gradle dependencies needed for all exercises.
Checkout the master
branch and synchronize your project to download all needed dependencies.
The project contains the following Git branches:
-
master
(start for steps 1.x) -
end_part1
- end of part 1 -
end_part2
- end of part 2
One tag per step: STEP_1.0
... STEP_2.3
Make a new branch from master
for your work. Each exercise has its own Git commit solution.
Migrate our MVP architectured app to MVVM with Android Architecture Components
- 1.0 - Preparing
- 1.1 - First ViewModel & LiveData with Weather Detail View
- 1.2 - ViewModel & Events with the Splash View
- 1.3 - Shared ViewModel between Activity/Fragments, with the Weather View
Make the weather app fully persistent using the Android Architecture Room API