Skip to content

Compare types to check their vulnerabilities, resistances, and more.

Notifications You must be signed in to change notification settings

giovanischiar/pokechart

Repository files navigation


Pokechart

Compare types to check their vulnerabilities, resistances, and more.
Input the types, and the app will return the combined vulnerabilities and resistances.

Use Case

                                        Screenshot                                                             Description                    
This is what the app looks like when you open it. To input the types, select them by pressing each one, and then click on the last button at the bottom.
You can select a single type. When only one type is selected, its strengths and weaknesses are also displayed, used for attacks from that type.
You can also select more than one type, allowing you to check the resistance and vulnerability types for a Pokémon with 2 types.

Technologies

Technology Purpose

Jetpack Compose
Design UI

IconCreator
Generate application Icon (my own library)

Diagrams

Please check this repository to learn more about the notation I used to create the diagrams in this project.

Package io.schiar.pokechart

This diagram shows all the packages the application has, along with their structures. Some packages are simplified, while others are more detailed. Package io.schiar.pokechart Diagram

Package view and viewmodel

These diagrams illustrate the relationship between screens from view and viewmodel classes. The arrows from the View Models represent View Data objects (classes that hold all the necessary data for the view to display), primitives, or collections encapsulated by State Flows, which are classes that encapsulate data streams. Every update in the View Data triggers the State Flow to emit these new values to the view, and the view updates automatically. Typically, the methods called from screens in view to classes in viewmodel trigger these changes, as represented in the diagram below by arrows from the view screens to viewmodel classes.

Package view with viewmodel Diagram

Package view.viewdata

View Datas are classes that hold all the data the view needs to present. They are created from model classes and served by View Models to the view. This diagram represents all the associations among the classes in the view.viewdata.

ViewData Diagram

Package viewmodel and view.viewdata

View Models serve the view with objects made from view.viewdata classes, collections, or primitive objects encapsulated by State Flows. This diagram represents all the associations among the classes in viewmodel and view.viewdata.

ViewModel Diagram 1

Package viewmodel and model.repository

View Models also serve as a façade, triggering methods in model.repository classes. This diagram shows that each View Model has its own repository class and illustrates all methods each View Model calls, represented by arrows from View Models to Repositories.

ViewModel/Repository Relationship Diagram

Package model

Model classes handle the logic of the application. This diagram represents all the associations among the classes in the model.

Model Diagram

Package model.repository and model

These diagrams represent all the associations among the classes in model.repository and model.

Repository Model Diagram

Package model.repository and model.datasource

Data Sources provide their repositories with all the needed data for the application. This diagram represents all the associations among the classes in model.repository, model.datasource.

Repository Data Source Diagram

Future Tasks

  • Create an Icon.
  • Change the name.
  • Create a tile to easily access the application.
  • Publish on the store.

About

Compare types to check their vulnerabilities, resistances, and more.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published