-
Notifications
You must be signed in to change notification settings - Fork 10
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
CanAirIO new architecture proposal #67
Open
juanpa097
wants to merge
43
commits into
kike-canaries:new-architecture-proposal
Choose a base branch
from
juanpa097:devel
base: new-architecture-proposal
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
CanAirIO new architecture proposal #67
juanpa097
wants to merge
43
commits into
kike-canaries:new-architecture-proposal
from
juanpa097:devel
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Feature/GitHub templates
feat: Create splash screen.
…into feature/51-dashboard
fix: in the previous PR these files where not pushed
…into feature/51-dashboard
…ndroid-hpma115s0 into feature/51-dashboard
…I with mocked coordinates
…d added distance to station value.
…d added distance to station value.
…ndroid-hpma115s0 into feature/51-dashboard
Dashboard and new architecture.
…of database for DI.
…le for close(private) SensorReports.
Reports Refactor
Base automatically changed from
new-GUI-and-architecture-proposal
to
new-architecture-proposal
March 15, 2021 09:59
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 #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.
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
#51
Tests
Added unit tests for all the Dashboard Module.