# christ1114/toctoc architecture

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

- Interactive diagram: https://gitdiagram.com/christ1114/toctoc
- Repository: https://github.com/christ1114/toctoc

## Overview

FindHuman is a localized marketplace for finding people, services, and opportunities, with client and provider accounts. Users can search listings and providers, explore nearby results on a map, publish and manage announcements, view provider profiles and videos, and manage their profiles. Authentication and location checks protect account and discovery flows; notifications and contact messaging support follow-up. The sampled routes show direct Prisma access and some integrations, but most UI-to-route wiring and several subsystem implementations were not inspected, so uncertain connections are omitted.

Main entry points: [`lib/prisma.ts`](https://github.com/christ1114/toctoc/blob/main/lib/prisma.ts) (Application database), [`app/[locale]/app/page.tsx`](https://github.com/christ1114/toctoc/blob/main/app/%5Blocale%5D/app/page.tsx) (App workspace), [`app/api/notifications/route.ts`](https://github.com/christ1114/toctoc/blob/main/app/api/notifications/route.ts) (Notifications), [`app/api/profils/route.ts`](https://github.com/christ1114/toctoc/blob/main/app/api/profils/route.ts) (Profile endpoints)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["User experience"]
  node_market["Marketplace pages<br/>[page.tsx]"]
  node_workspace["App workspace<br/>[page.tsx]"]
  node_mapui["Nearby map<br/>[NearbyMap.tsx]"]
end

subgraph group_identity["Accounts and safety"]
  node_authpages["Login and registration<br/>[page.tsx]"]
  node_authclient["Authentication client<br/>[auth-client.ts]"]
  node_authapi["Authentication API<br/>[route.ts]"]
  node_security["Location and VPN checks<br/>[route.ts]"]
end

subgraph group_discovery["Discovery and listings"]
  node_searchapi["Search listings<br/>[route.ts]"]
  node_nearbyapi["Nearby users<br/>[route.ts]"]
  node_announcementapi["Announcement management<br/>[route.ts]"]
  node_announcementdetail["Announcement details<br/>[route.ts]"]
  node_regionapi["Region and job filters<br/>[route.ts]"]
  node_importapi["Spreadsheet import<br/>[route.ts]"]
end

subgraph group_profiles["Profiles and media"]
  node_profileui["Profile pages"]
  node_profileapi["Profile endpoints<br/>[route.ts]"]
  node_videomanager["Provider video manager<br/>[VideoManager.tsx]"]
  node_videoapi["Provider video endpoints<br/>[route.ts]"]
end

subgraph group_platform["Data and integrations"]
  node_notifications["Notifications<br/>[route.ts]"]
  node_contactapi["Contact messages<br/>[route.ts]"]
  node_database[("Application database<br/>[prisma.ts]")]
end

node_visitor(("Visitor or user"))
node_email{{"Email service"}}
node_realtime{{"Realtime service"}}

node_visitor -->|"browses"| node_market
node_visitor -->|"signs in"| node_authpages
node_visitor -->|"uses"| node_workspace
node_authpages -->|"invokes"| node_authclient
node_authclient -->|"auth requests"| node_authapi
node_authapi -->|"reads and writes"| node_database
node_market -->|"searches"| node_searchapi
node_workspace -->|"manages listings"| node_announcementapi
node_workspace -->|"manages profile"| node_profileapi
node_workspace -->|"loads notifications"| node_notifications
node_mapui -->|"requests nearby"| node_nearbyapi
node_mapui -->|"checks location"| node_security
node_searchapi -->|"queries listings"| node_database
node_nearbyapi -->|"queries users"| node_database
node_announcementapi -->|"reads and writes"| node_database
node_announcementdetail -->|"reads and writes"| node_database
node_regionapi -->|"reads filters"| node_database
node_importapi -->|"imports records"| node_database
node_profileui -->|"loads profiles"| node_profileapi
node_profileapi -->|"reads and writes"| node_database
node_videomanager -->|"manages videos"| node_videoapi
node_videoapi -->|"reads and writes"| node_database
node_notifications -->|"reads and writes"| node_database
node_notifications -.->|"realtime delivery"| node_realtime
node_contactapi -->|"sends messages"| node_email

click node_market "https://github.com/christ1114/toctoc/blob/main/app/%5Blocale%5D/page.tsx"
click node_workspace "https://github.com/christ1114/toctoc/blob/main/app/%5Blocale%5D/app/page.tsx"
click node_mapui "https://github.com/christ1114/toctoc/blob/main/components/app/map/NearbyMap.tsx"
click node_authpages "https://github.com/christ1114/toctoc/blob/main/app/%5Blocale%5D/(auth)/login/page.tsx"
click node_authclient "https://github.com/christ1114/toctoc/blob/main/app/lib/auth-client.ts"
click node_authapi "https://github.com/christ1114/toctoc/blob/main/app/api/auth/%5B...all%5D/route.ts"
click node_security "https://github.com/christ1114/toctoc/blob/main/app/api/security/location-check/route.ts"
click node_searchapi "https://github.com/christ1114/toctoc/blob/main/app/api/search/route.ts"
click node_nearbyapi "https://github.com/christ1114/toctoc/blob/main/app/api/user/nearby/route.ts"
click node_announcementapi "https://github.com/christ1114/toctoc/blob/main/app/api/announcements/route.ts"
click node_announcementdetail "https://github.com/christ1114/toctoc/blob/main/app/api/announcements/%5Bid%5D/route.ts"
click node_regionapi "https://github.com/christ1114/toctoc/blob/main/app/api/regions/search/route.ts"
click node_importapi "https://github.com/christ1114/toctoc/blob/main/app/api/import/xlsx/route.ts"
click node_profileui "https://github.com/christ1114/toctoc/blob/main/components/app/profile/Publicprofilepage.tsx"
click node_profileapi "https://github.com/christ1114/toctoc/blob/main/app/api/profils/route.ts"
click node_videomanager "https://github.com/christ1114/toctoc/blob/main/components/provider/VideoManager.tsx"
click node_videoapi "https://github.com/christ1114/toctoc/blob/main/app/api/providers/me/videos/route.ts"
click node_notifications "https://github.com/christ1114/toctoc/blob/main/app/api/notifications/route.ts"
click node_contactapi "https://github.com/christ1114/toctoc/blob/main/app/api/contact/route.ts"
click node_database "https://github.com/christ1114/toctoc/blob/main/lib/prisma.ts"

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_market,node_workspace,node_mapui,node_visitor toneBlue
class node_authpages,node_authclient,node_authapi,node_security toneAmber
class node_searchapi,node_nearbyapi,node_announcementapi,node_announcementdetail,node_regionapi,node_importapi toneMint
class node_profileui,node_profileapi,node_videomanager,node_videoapi toneRose
class node_notifications,node_contactapi,node_database,node_email,node_realtime toneIndigo
```

## Components

### User experience

- [Marketplace pages](https://github.com/christ1114/toctoc/blob/main/app/%5Blocale%5D/page.tsx): `app/[locale]/page.tsx`
- [App workspace](https://github.com/christ1114/toctoc/blob/main/app/%5Blocale%5D/app/page.tsx): `app/[locale]/app/page.tsx`
- [Nearby map](https://github.com/christ1114/toctoc/blob/main/components/app/map/NearbyMap.tsx): `components/app/map/NearbyMap.tsx`

### Accounts and safety

- [Login and registration](https://github.com/christ1114/toctoc/blob/main/app/%5Blocale%5D/(auth)/login/page.tsx): `app/[locale]/(auth)/login/page.tsx`
- [Authentication client](https://github.com/christ1114/toctoc/blob/main/app/lib/auth-client.ts): `app/lib/auth-client.ts`
- [Authentication API](https://github.com/christ1114/toctoc/blob/main/app/api/auth/%5B...all%5D/route.ts): `app/api/auth/[...all]/route.ts`
- [Location and VPN checks](https://github.com/christ1114/toctoc/blob/main/app/api/security/location-check/route.ts): `app/api/security/location-check/route.ts`

### Discovery and listings

- [Search listings](https://github.com/christ1114/toctoc/blob/main/app/api/search/route.ts): `app/api/search/route.ts`
- [Nearby users](https://github.com/christ1114/toctoc/blob/main/app/api/user/nearby/route.ts): `app/api/user/nearby/route.ts`
- [Announcement management](https://github.com/christ1114/toctoc/blob/main/app/api/announcements/route.ts): `app/api/announcements/route.ts`
- [Announcement details](https://github.com/christ1114/toctoc/blob/main/app/api/announcements/%5Bid%5D/route.ts): `app/api/announcements/[id]/route.ts`
- [Region and job filters](https://github.com/christ1114/toctoc/blob/main/app/api/regions/search/route.ts): `app/api/regions/search/route.ts`
- [Spreadsheet import](https://github.com/christ1114/toctoc/blob/main/app/api/import/xlsx/route.ts): `app/api/import/xlsx/route.ts`

### Profiles and media

- [Profile pages](https://github.com/christ1114/toctoc/blob/main/components/app/profile/Publicprofilepage.tsx): `components/app/profile/Publicprofilepage.tsx`
- [Profile endpoints](https://github.com/christ1114/toctoc/blob/main/app/api/profils/route.ts): `app/api/profils/route.ts`
- [Provider video manager](https://github.com/christ1114/toctoc/blob/main/components/provider/VideoManager.tsx): `components/provider/VideoManager.tsx`
- [Provider video endpoints](https://github.com/christ1114/toctoc/blob/main/app/api/providers/me/videos/route.ts): `app/api/providers/me/videos/route.ts`

### Data and integrations

- [Notifications](https://github.com/christ1114/toctoc/blob/main/app/api/notifications/route.ts): `app/api/notifications/route.ts`
- [Contact messages](https://github.com/christ1114/toctoc/blob/main/app/api/contact/route.ts): `app/api/contact/route.ts`
- [Application database](https://github.com/christ1114/toctoc/blob/main/lib/prisma.ts): `lib/prisma.ts`

### Other components

- **Visitor or user**
- **Email service**
- **Realtime service**

## Connections

- Visitor or user → Marketplace pages: browses
- Visitor or user → Login and registration: signs in
- Visitor or user → App workspace: uses
- Login and registration → Authentication client: invokes
- Authentication client → Authentication API: auth requests
- Authentication API → Application database: reads and writes
- Marketplace pages → Search listings: searches
- App workspace → Announcement management: manages listings
- App workspace → Profile endpoints: manages profile
- App workspace → Notifications: loads notifications
- Nearby map → Nearby users: requests nearby
- Nearby map → Location and VPN checks: checks location
- Search listings → Application database: queries listings
- Nearby users → Application database: queries users
- Announcement management → Application database: reads and writes
- Announcement details → Application database: reads and writes
- Region and job filters → Application database: reads filters
- Spreadsheet import → Application database: imports records
- Profile pages → Profile endpoints: loads profiles
- Profile endpoints → Application database: reads and writes
- Provider video manager → Provider video endpoints: manages videos
- Provider video endpoints → Application database: reads and writes
- Notifications → Application database: reads and writes
- Notifications → Realtime service: realtime delivery
- Contact messages → Email service: sends messages
