# mauricioalvarad0/pokeappcesba architecture

> Architecture diagram of the GitHub repository mauricioalvarad0/pokeappcesba, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mauricioalvarad0/pokeappcesba
- Repository: https://github.com/mauricioalvarad0/pokeappcesba

## Overview

PokeAppCESBA is an Android Pokémon app whose tree indicates collection browsing, battles, account/history screens, and several Pokémon-themed games. The likely user workflow is entering the app, navigating to a feature, and viewing or playing it. The source excerpts contain no app implementation, and the README is empty, so connections between screens and services are unverified; dashed edges mark only likely entry or integration points, not inspected call paths.

Main entry points: [`app/src/main/java/com/example/pokeappcesba/ApiClient.java`](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/ApiClient.java) (API client), [`app/src/main/java/com/example/pokeappcesba/SplashActivity.java`](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/SplashActivity.java) (Splash screen), [`app/src/main/java/com/example/pokeappcesba/MainActivity.java`](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/MainActivity.java) (Main screen), [`app/src/main/java/com/example/pokeappcesba/PokedexActivity.java`](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/PokedexActivity.java) (Pokédex)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_navigation["App navigation"]
  node_splash["Splash screen"]
  node_main["Main screen<br/>[MainActivity.java]"]
  node_first["Home fragment<br/>[FirstFragment.java]"]
  node_second["Second fragment"]
  node_first2["Home fragment 2"]
  node_second2["Second fragment 2"]
end

subgraph group_collection["Pokémon collection"]
  node_pokedex["Pokédex"]
  node_api_client["API client<br/>[ApiClient.java]"]
  node_api_service["Poké API service"]
  node_pokemon["Pokémon model<br/>[Pokemon.java]"]
  node_pokemon_stat["Pokémon stats<br/>[PokemonStat.java]"]
  node_sprites["Sprite data<br/>[Sprites.java]"]
  node_stat["Stat model<br/>[Stat.java]"]
end

subgraph group_battles["Battles and records"]
  node_battle_emulator["Emulator battle"]
  node_battle_versus["Versus battle"]
  node_battle_engine["Battle engine<br/>[BattleEngine.java]"]
  node_history["Battle history"]
  node_battle_record["Battle record<br/>[BattleRecord.java]"]
  node_record_adapter["Record adapter"]
end

subgraph group_games_account["Games and account"]
  node_login["Login<br/>[LoginActivity.java]"]
  node_profile["Profile"]
  node_memory["Memory game"]
  node_safari["Safari game"]
  node_tower["Tower game<br/>[TowerActivity.java]"]
  node_type_master["Type Master"]
  node_whos_pokemon["Who's That Pokémon"]
  node_flappy_activity["Flappy game"]
  node_flappy_view["Flappy game view"]
end

node_user(("User"))
node_pokemon_api{{"Pokémon API"}}

node_user -.->|"opens app"| node_splash
node_user -.->|"uses app"| node_main
node_user -.->|"browses"| node_pokedex
node_user -.->|"plays battle"| node_battle_emulator
node_user -.->|"plays battle"| node_battle_versus
node_user -.->|"plays game"| node_memory
node_user -.->|"plays game"| node_safari
node_user -.->|"plays game"| node_tower
node_user -.->|"plays game"| node_type_master
node_user -.->|"plays game"| node_whos_pokemon
node_user -.->|"plays game"| node_flappy_activity
node_api_client -.->|"may request data"| node_pokemon_api

click node_splash "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/SplashActivity.java"
click node_main "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/MainActivity.java"
click node_first "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/FirstFragment.java"
click node_second "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/SecondFragment.java"
click node_first2 "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/First2Fragment.java"
click node_second2 "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/Second2Fragment.java"
click node_pokedex "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/PokedexActivity.java"
click node_api_client "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/ApiClient.java"
click node_api_service "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/PokeApiService.java"
click node_pokemon "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/Pokemon.java"
click node_pokemon_stat "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/PokemonStat.java"
click node_sprites "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/Sprites.java"
click node_stat "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/Stat.java"
click node_battle_emulator "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/BattleEmulatorActivity.java"
click node_battle_versus "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/BattleVersusActivity.java"
click node_battle_engine "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/BattleEngine.java"
click node_history "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/HistorialActivity.java"
click node_battle_record "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/models/BattleRecord.java"
click node_record_adapter "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/adapters/BattleRecordAdapter.java"
click node_login "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/LoginActivity.java"
click node_profile "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/PerfilActivity.java"
click node_memory "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/MemoryActivity.java"
click node_safari "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/SafariActivity.java"
click node_tower "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/TowerActivity.java"
click node_type_master "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/TypeMasterActivity.java"
click node_whos_pokemon "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/WhosThatPokemonActivity.java"
click node_flappy_activity "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/FlappyPokemonActivity.java"
click node_flappy_view "https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/FlappyGameView.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_splash,node_main,node_first,node_second,node_first2,node_second2,node_user toneBlue
class node_pokedex,node_api_client,node_api_service,node_pokemon,node_pokemon_stat,node_sprites,node_stat toneAmber
class node_battle_emulator,node_battle_versus,node_battle_engine,node_history,node_battle_record,node_record_adapter,node_pokemon_api toneMint
class node_login,node_profile,node_memory,node_safari,node_tower,node_type_master,node_whos_pokemon,node_flappy_activity,node_flappy_view toneRose
```

## Components

### App navigation

- [Splash screen](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/SplashActivity.java): `app/src/main/java/com/example/pokeappcesba/SplashActivity.java`
- [Main screen](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/MainActivity.java): `app/src/main/java/com/example/pokeappcesba/MainActivity.java`
- [Home fragment](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/FirstFragment.java): `app/src/main/java/com/example/pokeappcesba/FirstFragment.java`
- [Second fragment](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/SecondFragment.java): `app/src/main/java/com/example/pokeappcesba/SecondFragment.java`
- [Home fragment 2](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/First2Fragment.java): `app/src/main/java/com/example/pokeappcesba/First2Fragment.java`
- [Second fragment 2](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/Second2Fragment.java): `app/src/main/java/com/example/pokeappcesba/Second2Fragment.java`

### Pokémon collection

- [Pokédex](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/PokedexActivity.java): `app/src/main/java/com/example/pokeappcesba/PokedexActivity.java`
- [API client](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/ApiClient.java): `app/src/main/java/com/example/pokeappcesba/ApiClient.java`
- [Poké API service](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/PokeApiService.java): `app/src/main/java/com/example/pokeappcesba/PokeApiService.java`
- [Pokémon model](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/Pokemon.java): `app/src/main/java/com/example/pokeappcesba/Pokemon.java`
- [Pokémon stats](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/PokemonStat.java): `app/src/main/java/com/example/pokeappcesba/PokemonStat.java`
- [Sprite data](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/Sprites.java): `app/src/main/java/com/example/pokeappcesba/Sprites.java`
- [Stat model](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/Stat.java): `app/src/main/java/com/example/pokeappcesba/Stat.java`

### Battles and records

- [Emulator battle](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/BattleEmulatorActivity.java): `app/src/main/java/com/example/pokeappcesba/BattleEmulatorActivity.java`
- [Versus battle](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/BattleVersusActivity.java): `app/src/main/java/com/example/pokeappcesba/BattleVersusActivity.java`
- [Battle engine](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/BattleEngine.java): `app/src/main/java/com/example/pokeappcesba/BattleEngine.java`
- [Battle history](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/HistorialActivity.java): `app/src/main/java/com/example/pokeappcesba/HistorialActivity.java`
- [Battle record](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/models/BattleRecord.java): `app/src/main/java/com/example/pokeappcesba/models/BattleRecord.java`
- [Record adapter](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/adapters/BattleRecordAdapter.java): `app/src/main/java/com/example/pokeappcesba/adapters/BattleRecordAdapter.java`

### Games and account

- [Login](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/LoginActivity.java): `app/src/main/java/com/example/pokeappcesba/LoginActivity.java`
- [Profile](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/PerfilActivity.java): `app/src/main/java/com/example/pokeappcesba/PerfilActivity.java`
- [Memory game](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/MemoryActivity.java): `app/src/main/java/com/example/pokeappcesba/MemoryActivity.java`
- [Safari game](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/SafariActivity.java): `app/src/main/java/com/example/pokeappcesba/SafariActivity.java`
- [Tower game](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/TowerActivity.java): `app/src/main/java/com/example/pokeappcesba/TowerActivity.java`
- [Type Master](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/TypeMasterActivity.java): `app/src/main/java/com/example/pokeappcesba/TypeMasterActivity.java`
- [Who's That Pokémon](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/WhosThatPokemonActivity.java): `app/src/main/java/com/example/pokeappcesba/WhosThatPokemonActivity.java`
- [Flappy game](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/FlappyPokemonActivity.java): `app/src/main/java/com/example/pokeappcesba/FlappyPokemonActivity.java`
- [Flappy game view](https://github.com/mauricioalvarad0/pokeappcesba/blob/main/app/src/main/java/com/example/pokeappcesba/FlappyGameView.java): `app/src/main/java/com/example/pokeappcesba/FlappyGameView.java`

### Other components

- **User**
- **Pokémon API**

## Connections

- User → Splash screen: opens app
- User → Main screen: uses app
- User → Pokédex: browses
- User → Emulator battle: plays battle
- User → Versus battle: plays battle
- User → Memory game: plays game
- User → Safari game: plays game
- User → Tower game: plays game
- User → Type Master: plays game
- User → Who's That Pokémon: plays game
- User → Flappy game: plays game
- API client → Pokémon API: may request data
