# chintitomasud3/system_fastapi_prisma architecture

> Architecture diagram of the GitHub repository chintitomasud3/system_fastapi_prisma, 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/chintitomasud3/system_fastapi_prisma
- Repository: https://github.com/chintitomasud3/system_fastapi_prisma

## Overview

This is a FastAPI backend for user accounts, bearer-token authentication, posts, and administrator tools. The principal workflow is registration or login, followed by authenticated access to the current-user and post endpoints; administrators can also inspect application data and host health. Route handlers and authentication helpers are sampled in `main.py` and `auth.py`. The tree includes Prisma schema and database files, but their contents were not sampled, so the graph shows persistence connections without inferring schema details.

Main entry points: [`auth.py`](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/auth.py) (Auth Helpers), [`main.py`](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py) (Registration), [`dev.db`](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/dev.db) (Database)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_api["HTTP API"]
  node_routes["FastAPI Routes<br/>[main.py]"]
  node_registration["Registration<br/>[main.py]"]
  node_login["Login<br/>[main.py]"]
  node_profile["Current User<br/>[main.py]"]
  node_posts["Post Routes<br/>[main.py]"]
end

subgraph group_identity["Identity"]
  node_auth["Auth Helpers<br/>[auth.py]"]
end

subgraph group_data["Persistence"]
  node_prisma["Prisma Client<br/>[auth.py]"]
  node_schema["Data Schema<br/>[schema.prisma]"]
  node_database[("Database<br/>[dev.db]")]
end

subgraph group_admin["Administration"]
  node_admin_data["Admin Data<br/>[main.py]"]
  node_admin_stats["Admin Stats<br/>[main.py]"]
  node_system_info["System Info<br/>[main.py]"]
  node_processes["Process List<br/>[main.py]"]
end

node_client(("API Client"))
node_host["Host OS"]

node_client -->|"registers"| node_registration
node_client -->|"logs in"| node_login
node_client -->|"requests"| node_profile
node_client -->|"requests"| node_posts
node_client -->|"requests"| node_admin_data
node_client -->|"requests"| node_admin_stats
node_client -->|"requests"| node_system_info
node_client -->|"requests"| node_processes
node_registration -->|"checks and creates"| node_prisma
node_registration -->|"hashes password"| node_auth
node_login -->|"loads user"| node_prisma
node_login -->|"verifies and signs"| node_auth
node_profile -->|"resolves user"| node_auth
node_posts -->|"resolves user"| node_auth
node_posts -->|"reads and writes posts"| node_prisma
node_admin_data -->|"checks admin"| node_auth
node_admin_data -->|"reads users and posts"| node_prisma
node_admin_stats -->|"checks admin"| node_auth
node_admin_stats -->|"counts records"| node_prisma
node_system_info -->|"checks admin"| node_auth
node_system_info -->|"reads metrics"| node_host
node_processes -->|"checks admin"| node_auth
node_processes -->|"reads processes"| node_host
node_auth -->|"loads user"| node_prisma
node_prisma -->|"queries"| node_database

click node_routes "https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py"
click node_registration "https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py"
click node_login "https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py"
click node_profile "https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py"
click node_posts "https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py"
click node_auth "https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/auth.py"
click node_prisma "https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/auth.py"
click node_schema "https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/schema.prisma"
click node_database "https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/dev.db"
click node_admin_data "https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py"
click node_admin_stats "https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py"
click node_system_info "https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py"
click node_processes "https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py"

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_routes,node_registration,node_login,node_profile,node_posts,node_client toneBlue
class node_auth toneAmber
class node_prisma,node_schema,node_database toneMint
class node_admin_data,node_admin_stats,node_system_info,node_processes toneRose
class node_host toneIndigo
```

## Components

### HTTP API

- [FastAPI Routes](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py): `main.py`
- [Registration](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py): `main.py`
- [Login](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py): `main.py`
- [Current User](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py): `main.py`
- [Post Routes](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py): `main.py`

### Identity

- [Auth Helpers](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/auth.py): `auth.py`

### Persistence

- [Prisma Client](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/auth.py): `auth.py`
- [Data Schema](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/schema.prisma): `schema.prisma`
- [Database](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/dev.db): `dev.db`

### Administration

- [Admin Data](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py): `main.py`
- [Admin Stats](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py): `main.py`
- [System Info](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py): `main.py`
- [Process List](https://github.com/chintitomasud3/system_fastapi_prisma/blob/main/main.py): `main.py`

### Other components

- **API Client**
- **Host OS**

## Connections

- API Client → Registration: registers
- API Client → Login: logs in
- API Client → Current User: requests
- API Client → Post Routes: requests
- API Client → Admin Data: requests
- API Client → Admin Stats: requests
- API Client → System Info: requests
- API Client → Process List: requests
- Registration → Prisma Client: checks and creates
- Registration → Auth Helpers: hashes password
- Login → Prisma Client: loads user
- Login → Auth Helpers: verifies and signs
- Current User → Auth Helpers: resolves user
- Post Routes → Auth Helpers: resolves user
- Post Routes → Prisma Client: reads and writes posts
- Admin Data → Auth Helpers: checks admin
- Admin Data → Prisma Client: reads users and posts
- Admin Stats → Auth Helpers: checks admin
- Admin Stats → Prisma Client: counts records
- System Info → Auth Helpers: checks admin
- System Info → Host OS: reads metrics
- Process List → Auth Helpers: checks admin
- Process List → Host OS: reads processes
- Auth Helpers → Prisma Client: loads user
- Prisma Client → Database: queries
