# zeck7one/mycar architecture

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

- Interactive diagram: https://gitdiagram.com/zeck7one/mycar
- Repository: https://github.com/zeck7one/mycar

## Overview

This is a Flask vehicle-records and community web app, with user accounts, profile/car settings, messaging, and an administrator view. The principal workflow is a user entering the app, managing vehicle records, and using community features; Supabase is the documented persistence service. The sampled source shows record queries, profile updates, admin checks, and community-feed handling. Other feature routes are visible only indirectly through the file tree and partial excerpts, so their internal calls are not inferred.

Main entry points: [`app.py`](https://github.com/zeck7one/mycar/blob/main/app.py) (Flask app), [`supabase_schema.sql`](https://github.com/zeck7one/mycar/blob/main/supabase_schema.sql) (Supabase data), [`templates`](https://github.com/zeck7one/mycar/tree/main/templates) (Web pages)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web application"]
  node_flask["Flask app<br/>[app.py]"]
  node_accounts["Accounts and login<br/>[app.py]"]
  node_templates["Web pages"]
  node_profile["Profile<br/>[app.py]"]
end

subgraph group_records["Vehicle records"]
  node_record_routes["Record management<br/>[app.py]"]
  node_car_settings["Car settings<br/>[app.py]"]
end

subgraph group_community["Community"]
  node_community_feed["Community feed<br/>[app.py]"]
  node_community_posts["Community posting<br/>[app.py]"]
end

subgraph group_messaging["Messaging and administration"]
  node_messages["User messages<br/>[app.py]"]
  node_admin_messages["Admin messages<br/>[app.py]"]
  node_admin_access["Admin access checks<br/>[app.py]"]
end

subgraph group_data["Persistence"]
  node_supabase[("Supabase data")]
end

node_user(("User"))

node_user -->|"uses"| node_flask
node_flask -->|"dispatches"| node_accounts
node_flask -->|"dispatches"| node_record_routes
node_flask -->|"dispatches"| node_car_settings
node_flask -->|"dispatches"| node_profile
node_flask -->|"dispatches"| node_community_feed
node_flask -->|"dispatches"| node_community_posts
node_flask -.->|"dispatches"| node_messages
node_flask -->|"dispatches"| node_admin_messages
node_admin_messages -->|"checks access"| node_admin_access
node_record_routes -->|"queries records"| node_supabase
node_car_settings -->|"reads and updates"| node_supabase
node_profile -->|"updates profile"| node_supabase
node_admin_access -->|"checks role"| node_supabase
node_community_feed -->|"reads and updates"| node_supabase
node_flask -->|"renders pages"| node_templates

click node_flask "https://github.com/zeck7one/mycar/blob/main/app.py"
click node_accounts "https://github.com/zeck7one/mycar/blob/main/app.py"
click node_templates "https://github.com/zeck7one/mycar/tree/main/templates"
click node_record_routes "https://github.com/zeck7one/mycar/blob/main/app.py"
click node_car_settings "https://github.com/zeck7one/mycar/blob/main/app.py"
click node_profile "https://github.com/zeck7one/mycar/blob/main/app.py"
click node_community_feed "https://github.com/zeck7one/mycar/blob/main/app.py"
click node_community_posts "https://github.com/zeck7one/mycar/blob/main/app.py"
click node_messages "https://github.com/zeck7one/mycar/blob/main/app.py"
click node_admin_messages "https://github.com/zeck7one/mycar/blob/main/app.py"
click node_admin_access "https://github.com/zeck7one/mycar/blob/main/app.py"
click node_supabase "https://github.com/zeck7one/mycar/blob/main/supabase_schema.sql"

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_flask,node_accounts,node_templates,node_profile,node_user toneBlue
class node_record_routes,node_car_settings toneAmber
class node_community_feed,node_community_posts toneMint
class node_messages,node_admin_messages,node_admin_access toneRose
class node_supabase toneIndigo
```

## Components

### Web application

- [Flask app](https://github.com/zeck7one/mycar/blob/main/app.py): `app.py`
- [Accounts and login](https://github.com/zeck7one/mycar/blob/main/app.py): `app.py`
- [Web pages](https://github.com/zeck7one/mycar/tree/main/templates): `templates`
- [Profile](https://github.com/zeck7one/mycar/blob/main/app.py): `app.py`

### Vehicle records

- [Record management](https://github.com/zeck7one/mycar/blob/main/app.py): `app.py`
- [Car settings](https://github.com/zeck7one/mycar/blob/main/app.py): `app.py`

### Community

- [Community feed](https://github.com/zeck7one/mycar/blob/main/app.py): `app.py`
- [Community posting](https://github.com/zeck7one/mycar/blob/main/app.py): `app.py`

### Messaging and administration

- [User messages](https://github.com/zeck7one/mycar/blob/main/app.py): `app.py`
- [Admin messages](https://github.com/zeck7one/mycar/blob/main/app.py): `app.py`
- [Admin access checks](https://github.com/zeck7one/mycar/blob/main/app.py): `app.py`

### Persistence

- [Supabase data](https://github.com/zeck7one/mycar/blob/main/supabase_schema.sql): `supabase_schema.sql`

### Other components

- **User**

## Connections

- User → Flask app: uses (evidence: `README.md`)
- Flask app → Accounts and login: dispatches (evidence: `app.py`)
- Flask app → Record management: dispatches (evidence: `app.py`)
- Flask app → Car settings: dispatches (evidence: `app.py`)
- Flask app → Profile: dispatches (evidence: `app.py`)
- Flask app → Community feed: dispatches (evidence: `app.py`)
- Flask app → Community posting: dispatches (evidence: `app.py`)
- Flask app → User messages: dispatches (evidence: `app.py`)
- Flask app → Admin messages: dispatches (evidence: `app.py`)
- Admin messages → Admin access checks: checks access (evidence: `app.py`)
- Record management → Supabase data: queries records (evidence: `app.py`)
- Car settings → Supabase data: reads and updates (evidence: `app.py`)
- Profile → Supabase data: updates profile (evidence: `app.py`)
- Admin access checks → Supabase data: checks role (evidence: `app.py`)
- Community feed → Supabase data: reads and updates (evidence: `app.py`)
- Flask app → Web pages: renders pages (evidence: `app.py`)
