# bencooper1/tvproxy architecture

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

- Interactive diagram: https://gitdiagram.com/bencooper1/tvproxy
- Repository: https://github.com/bencooper1/tvproxy

## Overview

TVProxy is intended to be a free Android IPTV player for live TV, movies, series, and related premium-style features. The repository is currently at M0: its runtime is a placeholder launch screen, not an implemented playback workflow. The graph therefore shows only the evidenced shell and logging behavior; the README’s feature scope is marked as documentation, not as implemented subsystems. Source excerpts do not establish Android launch wiring or the planned data and player layers.

Main entry points: [`app/src/main/java/com/tvproxy/app/MainActivity.kt`](https://github.com/bencooper1/tvproxy/blob/main/app/src/main/java/com/tvproxy/app/MainActivity.kt) (Placeholder activity), [`app/src/main/java/com/tvproxy/app/TvProxyApplication.kt`](https://github.com/bencooper1/tvproxy/blob/main/app/src/main/java/com/tvproxy/app/TvProxyApplication.kt) (Application setup), [`app/src/main/res/layout/activity_main.xml`](https://github.com/bencooper1/tvproxy/blob/main/app/src/main/res/layout/activity_main.xml) (Placeholder layout)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shell["Android shell"]
  node_main["Placeholder activity<br/>[MainActivity.kt]"]
  node_layout["Placeholder layout<br/>[activity_main.xml]"]
  node_application["Application setup"]
end

subgraph group_scope["Documented scope"]
  node_features["Planned IPTV features<br/>[README.md]"]
end

node_android(("Android runtime"))
node_timber["Timber logging"]

node_main -->|"sets content"| node_layout
node_main -->|"logs launch"| node_timber
node_application -->|"plants debug tree"| node_timber

click node_main "https://github.com/bencooper1/tvproxy/blob/main/app/src/main/java/com/tvproxy/app/MainActivity.kt"
click node_layout "https://github.com/bencooper1/tvproxy/blob/main/app/src/main/res/layout/activity_main.xml"
click node_application "https://github.com/bencooper1/tvproxy/blob/main/app/src/main/java/com/tvproxy/app/TvProxyApplication.kt"
click node_features "https://github.com/bencooper1/tvproxy/blob/main/README.md"

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_main,node_layout,node_application toneBlue
class node_features toneAmber
class node_android,node_timber toneIndigo
```

## Components

### Android shell

- [Placeholder activity](https://github.com/bencooper1/tvproxy/blob/main/app/src/main/java/com/tvproxy/app/MainActivity.kt): `app/src/main/java/com/tvproxy/app/MainActivity.kt`
- [Placeholder layout](https://github.com/bencooper1/tvproxy/blob/main/app/src/main/res/layout/activity_main.xml): `app/src/main/res/layout/activity_main.xml`
- [Application setup](https://github.com/bencooper1/tvproxy/blob/main/app/src/main/java/com/tvproxy/app/TvProxyApplication.kt): `app/src/main/java/com/tvproxy/app/TvProxyApplication.kt`

### Documented scope

- [Planned IPTV features](https://github.com/bencooper1/tvproxy/blob/main/README.md): `README.md`

### Other components

- **Android runtime**
- **Timber logging**

## Connections

- Placeholder activity → Placeholder layout: sets content (evidence: `app/src/main/java/com/tvproxy/app/MainActivity.kt`)
- Placeholder activity → Timber logging: logs launch (evidence: `app/src/main/java/com/tvproxy/app/MainActivity.kt`)
- Application setup → Timber logging: plants debug tree (evidence: `app/src/main/java/com/tvproxy/app/TvProxyApplication.kt`)
