# zwvapps/gpswox-android-client_source architecture

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

- Interactive diagram: https://gitdiagram.com/zwvapps/gpswox-android-client_source
- Repository: https://github.com/zwvapps/gpswox-android-client_source

## Overview

This is an Android GPSWOX fleet-tracking client. Its user-facing work centers on viewing tracked devices and maps, then branching into trip history, alerts, geofences, reports, and device/account tools. The tree identifies these screens and domain models; sampled code confirms map and history screens request device data through the API layer, and the map also requests editing-field data. With no README and only partial source excerpts, screen navigation and most feature-to-API wiring are not asserted.

Main entry points: [`app/src/main/java/com/gpswox/android/MapActivity.java`](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/MapActivity.java) (Live map), [`app/src/main/java/com/gpswox/android/HistoryActivity.java`](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/HistoryActivity.java) (Trip history), [`app/src/main/java/com/gpswox/android/api/API.java`](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/api/API.java) (API facade), [`app/src/main/java/com/gpswox/android/api/ApiInterface.java`](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/api/ApiInterface.java) (API contract)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_tracking["Live tracking"]
  node_main["Main screen<br/>[MainActivity.java]"]
  node_dashboard["Dashboard"]
  node_map["Live map<br/>[MapActivity.java]"]
  node_objects["Tracked objects"]
  node_objectinfo["Object details"]
end

subgraph group_history["History and reporting"]
  node_historyscreen["Trip history"]
  node_historydetails["History details"]
  node_historycoords["Coordinate details"]
  node_historychart["History chart"]
  node_reports["Reports"]
end

subgraph group_management["Fleet management"]
  node_events["Events"]
  node_alerts["Alerts"]
  node_geofences["Geofences"]
  node_poi["Points of interest<br/>[POIActivity.java]"]
  node_commands["Device commands"]
  node_tools["Fleet tools<br/>[ToolsActivity.java]"]
  node_account["Account settings"]
end

subgraph group_core["Client core"]
  node_api["API facade<br/>[API.java]"]
  node_apiinterface["API contract<br/>[ApiInterface.java]"]
  node_models["Domain models"]
  node_saveddata["Saved client data<br/>[DataSaver.java]"]
end

node_user(("Fleet user"))
node_backend{{"GPSWOX service"}}

node_user -->|"opens app"| node_main
node_user -->|"views tracking"| node_map
node_user -->|"reviews trips"| node_historyscreen
node_user -->|"requests reports"| node_reports
node_user -->|"manages alerts"| node_alerts
node_user -->|"manages zones"| node_geofences
node_user -->|"manages places"| node_poi
node_user -->|"sends commands"| node_commands
node_user -->|"manages account"| node_account
node_map -->|"requests devices and fields"| node_api
node_historyscreen -->|"requests devices"| node_api
node_map -->|"reads API key"| node_saveddata
node_historyscreen -->|"reads API key"| node_saveddata
node_api -->|"provides client"| node_apiinterface
node_apiinterface -->|"sends API requests"| node_backend

click node_main "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/MainActivity.java"
click node_dashboard "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/DashboardActivity.java"
click node_map "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/MapActivity.java"
click node_objects "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/ObjectsActivity.java"
click node_objectinfo "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/ObjectInfoActivity.java"
click node_historyscreen "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/HistoryActivity.java"
click node_historydetails "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/HistoryItemDetailsActivity.java"
click node_historycoords "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/HistoryItemCoordDetailsActivity.java"
click node_historychart "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/ViewHistoryChartActivity.java"
click node_reports "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/ReportsActivity.java"
click node_events "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/EventsActivity.java"
click node_alerts "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/AlertsActivity.java"
click node_geofences "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/GeofencingActivity.java"
click node_poi "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/POIActivity.java"
click node_commands "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/SendCommandActivity.java"
click node_tools "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/ToolsActivity.java"
click node_account "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/MyAccountActivity.java"
click node_api "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/api/API.java"
click node_apiinterface "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/api/ApiInterface.java"
click node_models "https://github.com/zwvapps/gpswox-android-client_source/tree/master/app/src/main/java/com/gpswox/android/models"
click node_saveddata "https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/utils/DataSaver.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_main,node_dashboard,node_map,node_objects,node_objectinfo,node_user toneBlue
class node_historyscreen,node_historydetails,node_historycoords,node_historychart,node_reports toneAmber
class node_events,node_alerts,node_geofences,node_poi,node_commands,node_tools,node_account toneMint
class node_api,node_apiinterface,node_models,node_saveddata toneRose
class node_backend toneIndigo
```

## Components

### Live tracking

- [Main screen](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/MainActivity.java): `app/src/main/java/com/gpswox/android/MainActivity.java`
- [Dashboard](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/DashboardActivity.java): `app/src/main/java/com/gpswox/android/DashboardActivity.java`
- [Live map](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/MapActivity.java): `app/src/main/java/com/gpswox/android/MapActivity.java`
- [Tracked objects](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/ObjectsActivity.java): `app/src/main/java/com/gpswox/android/ObjectsActivity.java`
- [Object details](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/ObjectInfoActivity.java): `app/src/main/java/com/gpswox/android/ObjectInfoActivity.java`

### History and reporting

- [Trip history](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/HistoryActivity.java): `app/src/main/java/com/gpswox/android/HistoryActivity.java`
- [History details](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/HistoryItemDetailsActivity.java): `app/src/main/java/com/gpswox/android/HistoryItemDetailsActivity.java`
- [Coordinate details](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/HistoryItemCoordDetailsActivity.java): `app/src/main/java/com/gpswox/android/HistoryItemCoordDetailsActivity.java`
- [History chart](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/ViewHistoryChartActivity.java): `app/src/main/java/com/gpswox/android/ViewHistoryChartActivity.java`
- [Reports](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/ReportsActivity.java): `app/src/main/java/com/gpswox/android/ReportsActivity.java`

### Fleet management

- [Events](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/EventsActivity.java): `app/src/main/java/com/gpswox/android/EventsActivity.java`
- [Alerts](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/AlertsActivity.java): `app/src/main/java/com/gpswox/android/AlertsActivity.java`
- [Geofences](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/GeofencingActivity.java): `app/src/main/java/com/gpswox/android/GeofencingActivity.java`
- [Points of interest](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/POIActivity.java): `app/src/main/java/com/gpswox/android/POIActivity.java`
- [Device commands](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/SendCommandActivity.java): `app/src/main/java/com/gpswox/android/SendCommandActivity.java`
- [Fleet tools](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/ToolsActivity.java): `app/src/main/java/com/gpswox/android/ToolsActivity.java`
- [Account settings](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/MyAccountActivity.java): `app/src/main/java/com/gpswox/android/MyAccountActivity.java`

### Client core

- [API facade](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/api/API.java): `app/src/main/java/com/gpswox/android/api/API.java`
- [API contract](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/api/ApiInterface.java): `app/src/main/java/com/gpswox/android/api/ApiInterface.java`
- [Domain models](https://github.com/zwvapps/gpswox-android-client_source/tree/master/app/src/main/java/com/gpswox/android/models): `app/src/main/java/com/gpswox/android/models`
- [Saved client data](https://github.com/zwvapps/gpswox-android-client_source/blob/master/app/src/main/java/com/gpswox/android/utils/DataSaver.java): `app/src/main/java/com/gpswox/android/utils/DataSaver.java`

### Other components

- **Fleet user**
- **GPSWOX service**

## Connections

- Fleet user → Main screen: opens app
- Fleet user → Live map: views tracking
- Fleet user → Trip history: reviews trips
- Fleet user → Reports: requests reports
- Fleet user → Alerts: manages alerts
- Fleet user → Geofences: manages zones
- Fleet user → Points of interest: manages places
- Fleet user → Device commands: sends commands
- Fleet user → Account settings: manages account
- Live map → API facade: requests devices and fields
- Trip history → API facade: requests devices
- Live map → Saved client data: reads API key
- Trip history → Saved client data: reads API key
- API facade → API contract: provides client
- API contract → GPSWOX service: sends API requests
