# ryanyuuki/anymex architecture

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

- Interactive diagram: https://gitdiagram.com/ryanyuuki/anymex
- Repository: https://github.com/ryanyuuki/anymex

## Overview

AnymeX is a cross-platform client for tracking anime and manga progress across AniList, MyAnimeList, and Simkl. Users manage their tracking in the app, which the README says integrates with those services’ official APIs. The supplied tree contains platform launchers and a Rust HTTP package, but not the Dart application layer, so its screens, domain stages, persistence, and service-specific call paths cannot be traced here. The diagram shows documented capabilities and sampled runtime boundaries without inferring internal wiring.

Main entry points: [`android/app/src/main/kotlin/com/ryan/anymex/MainActivity.kt`](https://github.com/ryanyuuki/anymex/blob/main/android/app/src/main/kotlin/com/ryan/anymex/MainActivity.kt) (Android host), [`windows/runner/main.cpp`](https://github.com/ryanyuuki/anymex/blob/main/windows/runner/main.cpp) (Windows host), [`packages/rhttp/rust/src/frb_generated.rs`](https://github.com/ryanyuuki/anymex/blob/main/packages/rhttp/rust/src/frb_generated.rs) (Bridge dispatch), [`packages/rhttp/rust/src/api/http.rs`](https://github.com/ryanyuuki/anymex/blob/main/packages/rhttp/rust/src/api/http.rs) (HTTP requests)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_product["Tracking product"]
  node_app["AnymeX client"]
  node_anilist["AniList API"]
  node_mal["MyAnimeList API"]
  node_simkl["Simkl API"]
end

subgraph group_platform["Platform runtime"]
  node_android["Android host<br/>[MainActivity.kt]"]
  node_windows["Windows host<br/>[main.cpp]"]
end

subgraph group_network["HTTP transport"]
  node_rhttp["Rust HTTP bridge<br/>[lib.rs]"]
  node_http["HTTP requests<br/>[http.rs]"]
  node_client["Request client<br/>[client.rs]"]
  node_frb["Bridge dispatch<br/>[frb_generated.rs]"]
end

node_user(("User"))

node_user -->|"manages progress"| node_app
node_app -->|"tracks via API"| node_anilist
node_app -->|"tracks via API"| node_mal
node_app -->|"tracks via API"| node_simkl
node_android -->|"launches"| node_app
node_windows -->|"launches"| node_app
node_frb -->|"dispatches request"| node_http

click node_android "https://github.com/ryanyuuki/anymex/blob/main/android/app/src/main/kotlin/com/ryan/anymex/MainActivity.kt"
click node_windows "https://github.com/ryanyuuki/anymex/blob/main/windows/runner/main.cpp"
click node_rhttp "https://github.com/ryanyuuki/anymex/blob/main/packages/rhttp/rust/src/lib.rs"
click node_http "https://github.com/ryanyuuki/anymex/blob/main/packages/rhttp/rust/src/api/http.rs"
click node_client "https://github.com/ryanyuuki/anymex/blob/main/packages/rhttp/rust/src/api/client.rs"
click node_frb "https://github.com/ryanyuuki/anymex/blob/main/packages/rhttp/rust/src/frb_generated.rs"

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_app,node_anilist,node_mal,node_simkl,node_user toneBlue
class node_android,node_windows toneAmber
class node_rhttp,node_http,node_client,node_frb toneMint
```

## Components

### Tracking product

- **AnymeX client**
- **AniList API**
- **MyAnimeList API**
- **Simkl API**

### Platform runtime

- [Android host](https://github.com/ryanyuuki/anymex/blob/main/android/app/src/main/kotlin/com/ryan/anymex/MainActivity.kt): `android/app/src/main/kotlin/com/ryan/anymex/MainActivity.kt`
- [Windows host](https://github.com/ryanyuuki/anymex/blob/main/windows/runner/main.cpp): `windows/runner/main.cpp`

### HTTP transport

- [Rust HTTP bridge](https://github.com/ryanyuuki/anymex/blob/main/packages/rhttp/rust/src/lib.rs): `packages/rhttp/rust/src/lib.rs`
- [HTTP requests](https://github.com/ryanyuuki/anymex/blob/main/packages/rhttp/rust/src/api/http.rs): `packages/rhttp/rust/src/api/http.rs`
- [Request client](https://github.com/ryanyuuki/anymex/blob/main/packages/rhttp/rust/src/api/client.rs): `packages/rhttp/rust/src/api/client.rs`
- [Bridge dispatch](https://github.com/ryanyuuki/anymex/blob/main/packages/rhttp/rust/src/frb_generated.rs): `packages/rhttp/rust/src/frb_generated.rs`

### Other components

- **User**

## Connections

- User → AnymeX client: manages progress
- AnymeX client → AniList API: tracks via API
- AnymeX client → MyAnimeList API: tracks via API
- AnymeX client → Simkl API: tracks via API
- Android host → AnymeX client: launches
- Windows host → AnymeX client: launches
- Bridge dispatch → HTTP requests: dispatches request
