# elgomes-br/elosonoro architecture

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

- Interactive diagram: https://gitdiagram.com/elgomes-br/elosonoro
- Repository: https://github.com/elgomes-br/elosonoro

## Overview

EloSonoro appears to be an Android sound-board app: users organize sound plates into profiles and play a plate’s sound. The tree also indicates pictogram search, audio recording/playback, preferences, and telemetry. The README is empty and the sampled source contains only build configuration, so the workflow and subsystem links are inferred from names; runtime call relationships could not be verified and are omitted.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App and board"]
  node_activity["Main activity<br/>[MainActivity.kt]"]
  node_board["Sound board<br/>[BoardViewModel.kt]"]
  node_search["Pictogram search"]
end

subgraph group_domain["Domain workflows"]
  node_usecases["Board use cases"]
  node_play["Play plate sound"]
end

subgraph group_data["Persistence and repositories"]
  node_plate_repo["Plate repository"]
  node_profile_repo["Profile repository"]
  node_telemetry_repo["Telemetry repository"]
  node_database[("Room database")]
end

subgraph group_media["Audio and preferences"]
  node_audio["Audio playback"]
  node_recording["Audio recording"]
  node_files["Local audio files"]
  node_preferences["Preferences"]
end

subgraph group_integrations["External services"]
  node_arasaac_repo["Pictogram repository"]
  node_arasaac_api["ARASAAC API"]
end

node_user(("User"))
node_arasaac{{"ARASAAC service"}}

click node_activity "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/MainActivity.kt"
click node_board "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/ui/board/BoardViewModel.kt"
click node_search "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/ui/arasaac/ArasaacSearchViewModel.kt"
click node_usecases "https://github.com/elgomes-br/elosonoro/tree/master/app/src/main/java/com/example/elosonoro/domain/usecase"
click node_play "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/domain/usecase/PlayPlateSoundUseCase.kt"
click node_plate_repo "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/repository/PlateRepositoryImpl.kt"
click node_profile_repo "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/repository/ProfileRepositoryImpl.kt"
click node_telemetry_repo "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/repository/TelemetryRepositoryImpl.kt"
click node_database "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/local/EloSonoroDatabase.kt"
click node_audio "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/media/AudioPlayerManager.kt"
click node_recording "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/media/AudioRecorderManager.kt"
click node_files "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/media/LocalFileManager.kt"
click node_preferences "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/preferences/PreferencesManager.kt"
click node_arasaac_repo "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/repository/ArasaacRepositoryImpl.kt"
click node_arasaac_api "https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/remote/api/ArasaacApiService.kt"

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_activity,node_board,node_search,node_user toneBlue
class node_usecases,node_play toneAmber
class node_plate_repo,node_profile_repo,node_telemetry_repo,node_database toneMint
class node_audio,node_recording,node_files,node_preferences toneRose
class node_arasaac_repo,node_arasaac_api,node_arasaac toneIndigo
```

## Components

### App and board

- [Main activity](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/MainActivity.kt): `app/src/main/java/com/example/elosonoro/MainActivity.kt`
- [Sound board](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/ui/board/BoardViewModel.kt): `app/src/main/java/com/example/elosonoro/ui/board/BoardViewModel.kt`
- [Pictogram search](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/ui/arasaac/ArasaacSearchViewModel.kt): `app/src/main/java/com/example/elosonoro/ui/arasaac/ArasaacSearchViewModel.kt`

### Domain workflows

- [Board use cases](https://github.com/elgomes-br/elosonoro/tree/master/app/src/main/java/com/example/elosonoro/domain/usecase): `app/src/main/java/com/example/elosonoro/domain/usecase`
- [Play plate sound](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/domain/usecase/PlayPlateSoundUseCase.kt): `app/src/main/java/com/example/elosonoro/domain/usecase/PlayPlateSoundUseCase.kt`

### Persistence and repositories

- [Plate repository](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/repository/PlateRepositoryImpl.kt): `app/src/main/java/com/example/elosonoro/data/repository/PlateRepositoryImpl.kt`
- [Profile repository](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/repository/ProfileRepositoryImpl.kt): `app/src/main/java/com/example/elosonoro/data/repository/ProfileRepositoryImpl.kt`
- [Telemetry repository](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/repository/TelemetryRepositoryImpl.kt): `app/src/main/java/com/example/elosonoro/data/repository/TelemetryRepositoryImpl.kt`
- [Room database](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/local/EloSonoroDatabase.kt): `app/src/main/java/com/example/elosonoro/data/local/EloSonoroDatabase.kt`

### Audio and preferences

- [Audio playback](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/media/AudioPlayerManager.kt): `app/src/main/java/com/example/elosonoro/data/media/AudioPlayerManager.kt`
- [Audio recording](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/media/AudioRecorderManager.kt): `app/src/main/java/com/example/elosonoro/data/media/AudioRecorderManager.kt`
- [Local audio files](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/media/LocalFileManager.kt): `app/src/main/java/com/example/elosonoro/data/media/LocalFileManager.kt`
- [Preferences](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/preferences/PreferencesManager.kt): `app/src/main/java/com/example/elosonoro/data/preferences/PreferencesManager.kt`

### External services

- [Pictogram repository](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/repository/ArasaacRepositoryImpl.kt): `app/src/main/java/com/example/elosonoro/data/repository/ArasaacRepositoryImpl.kt`
- [ARASAAC API](https://github.com/elgomes-br/elosonoro/blob/master/app/src/main/java/com/example/elosonoro/data/remote/api/ArasaacApiService.kt): `app/src/main/java/com/example/elosonoro/data/remote/api/ArasaacApiService.kt`

### Other components

- **User**
- **ARASAAC service**
