Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dashboard and new architecture. #4

Merged
merged 17 commits into from
Nov 10, 2020
Merged

Dashboard and new architecture. #4

merged 17 commits into from
Nov 10, 2020

Conversation

juanpa097
Copy link
Owner

Description

This is a fairly large PR, because we did many changes that were really dependent from each other that restricted us to brake the changes in multiple PRs. Here I'm going to do a summary of each change:

Added Material Design Support

We added the necessary files to implement Google's Material Design which is the recommended design language by Google and helps us to have a more modern and consistent UI language, this change is because a new UI design was discussed in issue kike-canaries#51 and it uses Material Design.

Navigation

Created a bottom navigation menu to replace the existing navigation witch was based on a third party library. The new navigation uses Android's native component, Material Design and the new Jetpack Navigation Component.

Dashboard Component

We created a new component that is now the entry point of the app. The Dashboard component shows the user the AQI of the nearest public station and the distance to that station. It also contains a few buttons that at the moment do not have any functionality but will have in the future.

Screen Shot 2020-11-10 at 11 30 17 AM

Clean Architecture

This is the biggest change in the application. In order to have a more testable, scaling and use the software engineer best practices we applied the use of Uncle's Bob Clean Architecture. This architecture is first used in the Dashboard module but it will be slowly applied to the other modules of the app.

To use Uncle's Bob Clean Architecture we need to use Dependency Injection and we used Android's new library for DI Hilt which uses Dagger under the hud.

Tests

The use of DI makes the app more testable and the new Dashboard module has an estimated unit test coverage of 90% and that coverage is also slowly being applied to the other app's modules. This will help to have a more reliable application.

Important Notes!

Because the app is in the transition to apply Uncle's Bob Clean Architecture some functionalities of the app are not working while we make the refactor of the app.

Related Issues

kike-canaries#51

Tests

Added unit tests for all the Dashboard Module.

hpsaturn and others added 17 commits June 3, 2020 15:05
…screen

[URGENT] fix: in the previous PR these files where not pushed
@juanpa097 juanpa097 added the enhancement New feature or request label Nov 10, 2020
@juanpa097 juanpa097 self-assigned this Nov 10, 2020
@juanpa097 juanpa097 merged commit 9b4e42d into devel Nov 10, 2020
@juanpa097 juanpa097 mentioned this pull request Dec 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants